@scalar/api-client 1.2.29 → 1.2.31

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.
package/dist/index.js CHANGED
@@ -13,10 +13,9 @@ import { nanoid } from "nanoid";
13
13
  import prettyBytes from "pretty-bytes";
14
14
  import prettyMilliseconds from "pretty-ms";
15
15
  import { useFloating, autoUpdate, offset, flip, shift as shift$1 } from "@floating-ui/vue";
16
- import contentType from "content-type";
17
16
  const alternateTheme = "/* basic theme */\n:root {\n --scalar-text-decoration: underline;\n --scalar-text-decoration-hover: underline;\n}\n.light-mode,\n.light-mode .dark-mode {\n --scalar-background-1: #f9f9f9;\n --scalar-background-2: #f1f1f1;\n --scalar-background-3: #e7e7e7;\n --scalar-background-card: #fff;\n\n --scalar-color-1: #2a2f45;\n --scalar-color-2: #757575;\n --scalar-color-3: #8e8e8e;\n\n --scalar-color-accent: var(--scalar-color-1);\n --scalar-background-accent: var(--scalar-background-3);\n\n --scalar-border-color: rgba(0, 0, 0, 0.1);\n}\n.dark-mode {\n --scalar-background-1: #131313;\n --scalar-background-2: #1d1d1d;\n --scalar-background-3: #272727;\n --scalar-background-card: #1d1d1d;\n\n --scalar-color-1: rgba(255, 255, 255, 0.9);\n --scalar-color-2: rgba(255, 255, 255, 0.62);\n --scalar-color-3: rgba(255, 255, 255, 0.44);\n\n --scalar-color-accent: var(--scalar-color-1);\n --scalar-background-accent: var(--scalar-background-3);\n\n --scalar-border-color: rgba(255, 255, 255, 0.1);\n}\n/* Document Sidebar */\n.light-mode .t-doc__sidebar,\n.dark-mode .t-doc__sidebar {\n --scalar-sidebar-background-1: var(--scalar-background-1);\n --scalar-sidebar-color-1: var(--scalar-color-1);\n --scalar-sidebar-color-2: var(--scalar-color-2);\n --scalar-sidebar-border-color: var(--scalar-border-color);\n\n --scalar-sidebar-item-hover-background: var(--scalar-background-2);\n --scalar-sidebar-item-hover-color: currentColor;\n\n --scalar-sidebar-item-active-background: var(--scalar-background-accent);\n --scalar-sidebar-color-active: var(--scalar-color-accent);\n\n --scalar-sidebar-search-background: transparent;\n --scalar-sidebar-search-color: var(--scalar-color-3);\n --scalar-sidebar-search-border-color: var(--scalar-border-color);\n\n --scalar-sidebar-indent-border: var(--scalar-sidebar-border-color);\n --scalar-sidebar-indent-border-hover: var(--scalar-sidebar-border-color);\n --scalar-sidebar-indent-border-active: var(--scalar-sidebar-border-color);\n}\n/* advanced */\n.light-mode .dark-mode,\n.light-mode {\n --scalar-color-green: #069061;\n --scalar-color-red: #ef0006;\n --scalar-color-yellow: #edbe20;\n --scalar-color-blue: #0082d0;\n --scalar-color-orange: #fb892c;\n --scalar-color-purple: #5203d1;\n\n --scalar-button-1: rgba(0, 0, 0, 1);\n --scalar-button-1-hover: rgba(0, 0, 0, 0.8);\n --scalar-button-1-color: rgba(255, 255, 255, 0.9);\n}\n.dark-mode {\n --scalar-color-green: #00b648;\n --scalar-color-red: #dd2f2c;\n --scalar-color-yellow: #ffc90d;\n --scalar-color-blue: #4eb3ec;\n --scalar-color-orange: #ff8d4d;\n --scalar-color-purple: #b191f9;\n\n --scalar-button-1: rgba(255, 255, 255, 1);\n --scalar-button-1-hover: rgba(255, 255, 255, 0.9);\n --scalar-button-1-color: black;\n}\n\n.scalar-api-client__item,\n.scalar-card,\n.dark-mode .dark-mode.scalar-card {\n --scalar-background-1: var(--scalar-background-card);\n --scalar-background-2: var(--scalar-background-1);\n --scalar-background-3: var(--scalar-background-1);\n}\n.dark-mode .dark-mode.scalar-card {\n --scalar-background-3: var(--scalar-background-3);\n}\n.t-doc__sidebar {\n --scalar-color-green: var(--scalar-color-1);\n --scalar-color-red: var(--scalar-color-1);\n --scalar-color-yellow: var(--scalar-color-1);\n --scalar-color-blue: var(--scalar-color-1);\n --scalar-color-orange: var(--scalar-color-1);\n --scalar-color-purple: var(--scalar-color-1);\n}\n";
18
17
  const bluePlanetTheme = "/* basic theme */\n:root {\n --scalar-text-decoration: underline;\n --scalar-text-decoration-hover: underline;\n}\n.light-mode {\n --scalar-background-1: #f0f2f5;\n --scalar-background-2: #eaecf0;\n --scalar-background-3: #e0e2e6;\n --scalar-border-color: rgb(228, 228, 231);\n\n --scalar-color-1: rgb(9, 9, 11);\n --scalar-color-2: rgb(113, 113, 122);\n --scalar-color-3: rgba(25, 25, 28, 0.5);\n\n --scalar-color-accent: var(--scalar-color-1);\n --scalar-background-accent: #8ab4f81f;\n\n --scalar-code-language-color-supersede: var(--scalar-color-1);\n}\n.light-mode .scalar-card.dark-mode,\n.dark-mode {\n --scalar-background-1: #000e23;\n --scalar-background-2: #01132e;\n --scalar-background-3: #03193b;\n --scalar-border-color: rgba(255, 255, 255, 0.12);\n\n --scalar-color-1: #fafafa;\n --scalar-color-2: rgb(161, 161, 170);\n --scalar-color-3: rgba(255, 255, 255, 0.533);\n\n --scalar-color-accent: var(--scalar-color-1);\n --scalar-background-accent: #8ab4f81f;\n\n --scalar-code-language-color-supersede: var(--scalar-color-1);\n}\n/* Document Sidebar */\n.light-mode .t-doc__sidebar,\n.dark-mode .t-doc__sidebar {\n --scalar-sidebar-background-1: var(--scalar-background-1);\n --scalar-sidebar-color-1: var(--scalar-color-1);\n --scalar-sidebar-color-2: var(--scalar-color-2);\n --scalar-sidebar-border-color: var(--scalar-border-color);\n\n --scalar-sidebar-item-hover-background: var(--scalar-background-2);\n --scalar-sidebar-item-hover-color: currentColor;\n\n --scalar-sidebar-item-active-background: var(--scalar-background-3);\n --scalar-sidebar-color-active: var(--scalar-color-accent);\n\n --scalar-sidebar-search-background: rgba(255, 255, 255, 0.1);\n --scalar-sidebar-search-border-color: var(--scalar-border-color);\n --scalar-sidebar-search-color: var(--scalar-color-3);\n z-index: 1;\n}\n.light-mode .t-doc__sidebar {\n --scalar-sidebar-search-background: white;\n}\n/* advanced */\n.light-mode {\n --scalar-color-green: #069061;\n --scalar-color-red: #ef0006;\n --scalar-color-yellow: #edbe20;\n --scalar-color-blue: #0082d0;\n --scalar-color-orange: #fb892c;\n --scalar-color-purple: #5203d1;\n\n --scalar-button-1: rgba(0, 0, 0, 1);\n --scalar-button-1-hover: rgba(0, 0, 0, 0.8);\n --scalar-button-1-color: rgba(255, 255, 255, 0.9);\n}\n.dark-mode {\n --scalar-color-green: rgba(69, 255, 165, 0.823);\n --scalar-color-red: #ff8589;\n --scalar-color-yellow: #ffcc4d;\n --scalar-color-blue: #6bc1fe;\n --scalar-color-orange: #f98943;\n --scalar-color-purple: #b191f9;\n\n --scalar-button-1: rgba(255, 255, 255, 1);\n --scalar-button-1-hover: rgba(255, 255, 255, 0.9);\n --scalar-button-1-color: black;\n}\n/* Custom theme */\n/* Document header */\n@keyframes headerbackground {\n from {\n background: transparent;\n backdrop-filter: none;\n }\n to {\n background: var(--header-background-1);\n backdrop-filter: blur(12px);\n }\n}\n.dark-mode h2.t-editor__heading,\n.dark-mode .t-editor__page-title h1,\n.dark-mode h1.section-header,\n.dark-mode .markdown h1,\n.dark-mode .markdown h2,\n.dark-mode .markdown h3,\n.dark-mode .markdown h4,\n.dark-mode .markdown h5,\n.dark-mode .markdown h6 {\n -webkit-text-fill-color: transparent;\n background-image: linear-gradient(\n to right bottom,\n rgb(255, 255, 255) 30%,\n rgba(255, 255, 255, 0.38)\n );\n -webkit-background-clip: text;\n background-clip: text;\n}\n/* Hero Section Flare */\n.section-flare-item:nth-of-type(1) {\n --c1: #ffffff;\n --c2: #babfd8;\n --c3: #2e8bb2;\n --c4: #1a8593;\n --c5: #0a143e;\n --c6: #0a0f52;\n --c7: #2341b8;\n\n --solid: var(--c1), var(--c2), var(--c3), var(--c4), var(--c5), var(--c6),\n var(--c7);\n --solid-wrap: var(--solid), var(--c1);\n --trans: var(--c1), transparent, var(--c2), transparent, var(--c3),\n transparent, var(--c4), transparent, var(--c5), transparent, var(--c6),\n transparent, var(--c7);\n --trans-wrap: var(--trans), transparent, var(--c1);\n\n background: radial-gradient(circle, var(--trans)),\n conic-gradient(from 180deg, var(--trans-wrap)),\n radial-gradient(circle, var(--trans)), conic-gradient(var(--solid-wrap));\n width: 70vw;\n height: 700px;\n border-radius: 50%;\n filter: blur(100px);\n z-index: 0;\n right: 0;\n position: absolute;\n transform: rotate(-45deg);\n top: -300px;\n opacity: 0.3;\n}\n.section-flare-item:nth-of-type(3) {\n --star-color: #6b9acc;\n --star-color2: #446b8d;\n --star-color3: #3e5879;\n background-image: radial-gradient(\n 2px 2px at 20px 30px,\n var(--star-color2),\n rgba(0, 0, 0, 0)\n ),\n radial-gradient(2px 2px at 40px 70px, var(--star-color), rgba(0, 0, 0, 0)),\n radial-gradient(2px 2px at 50px 160px, var(--star-color3), rgba(0, 0, 0, 0)),\n radial-gradient(2px 2px at 90px 40px, var(--star-color), rgba(0, 0, 0, 0)),\n radial-gradient(2px 2px at 130px 80px, var(--star-color), rgba(0, 0, 0, 0)),\n radial-gradient(\n 2px 2px at 160px 120px,\n var(--star-color3),\n rgba(0, 0, 0, 0)\n );\n background-repeat: repeat;\n background-size: 200px 200px;\n width: 100%;\n height: 100%;\n mask-image: radial-gradient(ellipse at 100% 0%, black 40%, transparent 70%);\n}\n.section-flare {\n top: -150px !important;\n height: 100vh;\n background: linear-gradient(#000, var(--scalar-background-1));\n width: 100vw;\n}\n.light-mode .section-flare {\n display: none;\n}\n.light-mode .scalar-card {\n --scalar-background-1: #fff;\n --scalar-background-2: #fff;\n --scalar-background-3: #fff;\n}\n";
19
- const deepSpaceTheme = "/* basic theme */\n:root {\n --scalar-text-decoration: underline;\n --scalar-text-decoration-hover: underline;\n}\n.light-mode {\n --scalar-color-1: rgb(9, 9, 11);\n --scalar-color-2: rgb(113, 113, 122);\n --scalar-color-3: rgba(25, 25, 28, 0.5);\n --scalar-color-accent: var(--scalar-color-1);\n\n --scalar-background-1: #fff;\n --scalar-background-2: #f4f4f5;\n --scalar-background-3: #e3e3e6;\n --scalar-background-accent: #8ab4f81f;\n\n --scalar-border-color: rgb(228, 228, 231);\n --scalar-code-language-color-supersede: var(--scalar-color-1);\n}\n.dark-mode {\n --scalar-color-1: #fafafa;\n --scalar-color-2: rgb(161, 161, 170);\n --scalar-color-3: rgba(255, 255, 255, 0.533);\n --scalar-color-accent: var(--scalar-color-1);\n\n --scalar-background-1: #09090b;\n --scalar-background-2: #18181b;\n --scalar-background-3: #2c2c30;\n --scalar-background-accent: #8ab4f81f;\n\n --scalar-border-color: rgba(255, 255, 255, 0.12);\n --scalar-code-language-color-supersede: var(--scalar-color-1);\n}\n\n/* Document Sidebar */\n.light-mode .t-doc__sidebar,\n.dark-mode .t-doc__sidebar {\n --scalar-sidebar-background-1: var(--scalar-background-1);\n --scalar-sidebar-color-1: var(--scalar-color-1);\n --scalar-sidebar-color-2: var(--scalar-color-2);\n --scalar-sidebar-border-color: var(--scalar-border-color);\n\n --scalar-sidebar-item-hover-color: currentColor;\n --scalar-sidebar-item-hover-background: var(--scalar-background-2);\n\n --scalar-sidebar-item-active-background: var(--scalar-background-3);\n --scalar-sidebar-color-active: var(--scalar-color-accent);\n\n --scalar-sidebar-search-background: transparent;\n --scalar-sidebar-search-border-color: var(--scalar-border-color);\n --scalar-sidebar-search-color: var(--scalar-color-3);\n}\n.light-mode .t-doc__sidebar {\n --scalar-sidebar-item-active-background: #09090b;\n --scalar-sidebar-color-active: var(--scalar-sidebar-background-1);\n}\n/* advanced */\n.light-mode {\n --scalar-color-green: #069061;\n --scalar-color-red: #ef0006;\n --scalar-color-yellow: #edbe20;\n --scalar-color-blue: #0082d0;\n --scalar-color-orange: #fb892c;\n --scalar-color-purple: #5203d1;\n\n --scalar-button-1: rgba(0, 0, 0, 1);\n --scalar-button-1-hover: rgba(0, 0, 0, 0.8);\n --scalar-button-1-color: rgba(255, 255, 255, 0.9);\n}\n.dark-mode {\n --scalar-color-green: rgba(69, 255, 165, 0.823);\n --scalar-color-red: #ff8589;\n --scalar-color-yellow: #ffcc4d;\n --scalar-color-blue: #6bc1fe;\n --scalar-color-orange: #f98943;\n --scalar-color-purple: #b191f9;\n\n --scalar-button-1: rgba(255, 255, 255, 1);\n --scalar-button-1-hover: rgba(255, 255, 255, 0.9);\n --scalar-button-1-color: black;\n}\n/* Custom theme */\n.dark-mode h2.t-editor__heading,\n.dark-mode .t-editor__page-title h1,\n.dark-mode h1.section-header,\n.dark-mode .markdown h1,\n.dark-mode .markdown h2,\n.dark-mode .markdown h3,\n.dark-mode .markdown h4,\n.dark-mode .markdown h5,\n.dark-mode .markdown h6 {\n -webkit-text-fill-color: transparent;\n background-image: linear-gradient(\n to right bottom,\n rgb(255, 255, 255) 30%,\n rgba(255, 255, 255, 0.38)\n );\n -webkit-background-clip: text;\n background-clip: text;\n}\n.examples .scalar-card-footer {\n --scalar-background-3: transparent;\n padding-top: 0;\n}\n/* Hero section flare */\n.section-flare {\n width: 100vw;\n height: 550px;\n position: relative;\n}\n.section-flare-item:nth-of-type(1) {\n position: absolute;\n width: 100vw;\n height: 550px;\n --stripesDark: repeating-linear-gradient(\n 100deg,\n #000 0%,\n #000 7%,\n transparent 10%,\n transparent 12%,\n #000 16%\n );\n --rainbow: repeating-linear-gradient(\n 100deg,\n #fff 10%,\n #fff 16%,\n #fff 22%,\n #fff 30%\n );\n background-image: var(--stripesDark), var(--rainbow);\n background-size: 300%, 200%;\n background-position:\n 50% 50%,\n 50% 50%;\n filter: invert(100%);\n -webkit-mask-image: radial-gradient(\n ellipse at 100% 0%,\n black 40%,\n transparent 70%\n );\n mask-image: radial-gradient(ellipse at 100% 0%, black 40%, transparent 70%);\n pointer-events: none;\n opacity: 0.07;\n}\n.dark-mode .section-flare-item:nth-of-type(1) {\n background-image: var(--stripesDark), var(--rainbow);\n filter: opacity(50%) saturate(200%);\n opacity: 0.25;\n height: 350px;\n}\n.section-flare-item:nth-of-type(1):after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-image: var(--stripesDark), var(--rainbow);\n background-size: 200%, 100%;\n background-attachment: fixed;\n mix-blend-mode: difference;\n}\n.dark-mode .section-flare:after {\n background-image: var(--stripesDark), var(--rainbow);\n}\n.section-flare-item:nth-of-type(2) {\n --star-color: #fff;\n --star-color2: #fff;\n --star-color3: #fff;\n width: 100%;\n height: 100%;\n position: absolute;\n background-image: radial-gradient(\n 2px 2px at 20px 30px,\n var(--star-color2),\n rgba(0, 0, 0, 0)\n ),\n radial-gradient(2px 2px at 40px 70px, var(--star-color), rgba(0, 0, 0, 0)),\n radial-gradient(2px 2px at 50px 160px, var(--star-color3), rgba(0, 0, 0, 0)),\n radial-gradient(2px 2px at 90px 40px, var(--star-color), rgba(0, 0, 0, 0)),\n radial-gradient(2px 2px at 130px 80px, var(--star-color), rgba(0, 0, 0, 0)),\n radial-gradient(\n 2px 2px at 160px 120px,\n var(--star-color3),\n rgba(0, 0, 0, 0)\n );\n background-repeat: repeat;\n background-size: 200px 200px;\n mask-image: radial-gradient(ellipse at 100% 0%, black 40%, transparent 70%);\n opacity: 0.2;\n}\n";
18
+ const deepSpaceTheme = "/* basic theme */\n:root {\n --scalar-text-decoration: underline;\n --scalar-text-decoration-hover: underline;\n}\n.light-mode {\n --scalar-color-1: rgb(9, 9, 11);\n --scalar-color-2: rgb(113, 113, 122);\n --scalar-color-3: rgba(25, 25, 28, 0.5);\n --scalar-color-accent: var(--scalar-color-1);\n\n --scalar-background-1: #fff;\n --scalar-background-2: #f4f4f5;\n --scalar-background-3: #e3e3e6;\n --scalar-background-accent: #8ab4f81f;\n\n --scalar-border-color: rgb(228, 228, 231);\n --scalar-code-language-color-supersede: var(--scalar-color-1);\n}\n.dark-mode {\n --scalar-color-1: #fafafa;\n --scalar-color-2: rgb(161, 161, 170);\n --scalar-color-3: rgba(255, 255, 255, 0.533);\n --scalar-color-accent: var(--scalar-color-1);\n\n --scalar-background-1: #09090b;\n --scalar-background-2: #18181b;\n --scalar-background-3: #2c2c30;\n --scalar-background-accent: #8ab4f81f;\n\n --scalar-border-color: rgba(255, 255, 255, 0.12);\n --scalar-code-language-color-supersede: var(--scalar-color-1);\n}\n\n/* Document Sidebar */\n.light-mode .t-doc__sidebar,\n.dark-mode .t-doc__sidebar {\n --scalar-sidebar-background-1: var(--scalar-background-1);\n --scalar-sidebar-color-1: var(--scalar-color-1);\n --scalar-sidebar-color-2: var(--scalar-color-2);\n --scalar-sidebar-border-color: var(--scalar-border-color);\n\n --scalar-sidebar-item-hover-color: currentColor;\n --scalar-sidebar-item-hover-background: var(--scalar-background-2);\n\n --scalar-sidebar-item-active-background: var(--scalar-background-3);\n --scalar-sidebar-color-active: var(--scalar-color-accent);\n\n --scalar-sidebar-search-background: transparent;\n --scalar-sidebar-search-border-color: var(--scalar-border-color);\n --scalar-sidebar-search-color: var(--scalar-color-3);\n}\n.light-mode .t-doc__sidebar {\n --scalar-sidebar-item-active-background: var(--scalar-background-2);\n}\n/* advanced */\n.light-mode {\n --scalar-color-green: #069061;\n --scalar-color-red: #ef0006;\n --scalar-color-yellow: #edbe20;\n --scalar-color-blue: #0082d0;\n --scalar-color-orange: #fb892c;\n --scalar-color-purple: #5203d1;\n\n --scalar-button-1: rgba(0, 0, 0, 1);\n --scalar-button-1-hover: rgba(0, 0, 0, 0.8);\n --scalar-button-1-color: rgba(255, 255, 255, 0.9);\n}\n.dark-mode {\n --scalar-color-green: rgba(69, 255, 165, 0.823);\n --scalar-color-red: #ff8589;\n --scalar-color-yellow: #ffcc4d;\n --scalar-color-blue: #6bc1fe;\n --scalar-color-orange: #f98943;\n --scalar-color-purple: #b191f9;\n\n --scalar-button-1: rgba(255, 255, 255, 1);\n --scalar-button-1-hover: rgba(255, 255, 255, 0.9);\n --scalar-button-1-color: black;\n}\n/* Custom theme */\n.dark-mode h2.t-editor__heading,\n.dark-mode .t-editor__page-title h1,\n.dark-mode h1.section-header,\n.dark-mode .markdown h1,\n.dark-mode .markdown h2,\n.dark-mode .markdown h3,\n.dark-mode .markdown h4,\n.dark-mode .markdown h5,\n.dark-mode .markdown h6 {\n -webkit-text-fill-color: transparent;\n background-image: linear-gradient(\n to right bottom,\n rgb(255, 255, 255) 30%,\n rgba(255, 255, 255, 0.38)\n );\n -webkit-background-clip: text;\n background-clip: text;\n}\n.examples .scalar-card-footer {\n --scalar-background-3: transparent;\n padding-top: 0;\n}\n/* Hero section flare */\n.section-flare {\n width: 100vw;\n height: 550px;\n position: relative;\n}\n.section-flare-item:nth-of-type(1) {\n position: absolute;\n width: 100vw;\n height: 550px;\n --stripesDark: repeating-linear-gradient(\n 100deg,\n #000 0%,\n #000 7%,\n transparent 10%,\n transparent 12%,\n #000 16%\n );\n --rainbow: repeating-linear-gradient(\n 100deg,\n #fff 10%,\n #fff 16%,\n #fff 22%,\n #fff 30%\n );\n background-image: var(--stripesDark), var(--rainbow);\n background-size: 300%, 200%;\n background-position:\n 50% 50%,\n 50% 50%;\n filter: invert(100%);\n -webkit-mask-image: radial-gradient(\n ellipse at 100% 0%,\n black 40%,\n transparent 70%\n );\n mask-image: radial-gradient(ellipse at 100% 0%, black 40%, transparent 70%);\n pointer-events: none;\n opacity: 0.07;\n}\n.dark-mode .section-flare-item:nth-of-type(1) {\n background-image: var(--stripesDark), var(--rainbow);\n filter: opacity(50%) saturate(200%);\n opacity: 0.25;\n height: 350px;\n}\n.section-flare-item:nth-of-type(1):after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-image: var(--stripesDark), var(--rainbow);\n background-size: 200%, 100%;\n background-attachment: fixed;\n mix-blend-mode: difference;\n}\n.dark-mode .section-flare:after {\n background-image: var(--stripesDark), var(--rainbow);\n}\n.section-flare-item:nth-of-type(2) {\n --star-color: #fff;\n --star-color2: #fff;\n --star-color3: #fff;\n width: 100%;\n height: 100%;\n position: absolute;\n background-image: radial-gradient(\n 2px 2px at 20px 30px,\n var(--star-color2),\n rgba(0, 0, 0, 0)\n ),\n radial-gradient(2px 2px at 40px 70px, var(--star-color), rgba(0, 0, 0, 0)),\n radial-gradient(2px 2px at 50px 160px, var(--star-color3), rgba(0, 0, 0, 0)),\n radial-gradient(2px 2px at 90px 40px, var(--star-color), rgba(0, 0, 0, 0)),\n radial-gradient(2px 2px at 130px 80px, var(--star-color), rgba(0, 0, 0, 0)),\n radial-gradient(\n 2px 2px at 160px 120px,\n var(--star-color3),\n rgba(0, 0, 0, 0)\n );\n background-repeat: repeat;\n background-size: 200px 200px;\n mask-image: radial-gradient(ellipse at 100% 0%, black 40%, transparent 70%);\n opacity: 0.2;\n}\n";
20
19
  const defaultTheme = "/* basic theme */\n.light-mode {\n --scalar-background-1: #fff;\n --scalar-background-2: #f6f6f6;\n --scalar-background-3: #e7e7e7;\n --scalar-background-accent: #8ab4f81f;\n\n --scalar-color-1: #2a2f45;\n --scalar-color-2: #757575;\n --scalar-color-3: #8e8e8e;\n\n --scalar-color-accent: #0099ff;\n --scalar-border-color: rgba(0, 0, 0, 0.1);\n}\n.dark-mode {\n --scalar-background-1: #0f0f0f;\n --scalar-background-2: #1a1a1a;\n --scalar-background-3: #272727;\n\n --scalar-color-1: rgba(255, 255, 255, 0.9);\n --scalar-color-2: rgba(255, 255, 255, 0.62);\n --scalar-color-3: rgba(255, 255, 255, 0.44);\n\n --scalar-color-accent: #3ea6ff;\n --scalar-background-accent: #3ea6ff1f;\n\n --scalar-border-color: rgba(255, 255, 255, 0.1);\n}\n/* Document Sidebar */\n.light-mode .t-doc__sidebar,\n.dark-mode .t-doc__sidebar {\n --scalar-sidebar-background-1: var(--scalar-background-1);\n --scalar-sidebar-color-1: var(--scalar-color-1);\n --scalar-sidebar-color-2: var(--scalar-color-2);\n --scalar-sidebar-border-color: var(--scalar-border-color);\n\n --scalar-sidebar-item-hover-background: var(--scalar-background-2);\n --scalar-sidebar-item-hover-color: currentColor;\n\n --scalar-sidebar-item-active-background: var(--scalar-background-2);\n --scalar-sidebar-color-active: var(--scalar-color-1);\n\n --scalar-sidebar-search-background: transparent;\n --scalar-sidebar-search-color: var(--scalar-color-3);\n --scalar-sidebar-search-border-color: var(--scalar-border-color);\n}\n\n/* advanced */\n.light-mode {\n --scalar-color-green: #069061;\n --scalar-color-red: #ef0006;\n --scalar-color-yellow: #edbe20;\n --scalar-color-blue: #0082d0;\n --scalar-color-orange: #fb892c;\n --scalar-color-purple: #5203d1;\n\n --scalar-button-1: rgba(0, 0, 0, 1);\n --scalar-button-1-hover: rgba(0, 0, 0, 0.8);\n --scalar-button-1-color: rgba(255, 255, 255, 0.9);\n}\n.dark-mode {\n --scalar-color-green: #00b648;\n --scalar-color-red: #dc1b19;\n --scalar-color-yellow: #ffc90d;\n --scalar-color-blue: #4eb3ec;\n --scalar-color-orange: #ff8d4d;\n --scalar-color-purple: #b191f9;\n\n --scalar-button-1: rgba(255, 255, 255, 1);\n --scalar-button-1-hover: rgba(255, 255, 255, 0.9);\n --scalar-button-1-color: black;\n}\n";
21
20
  const keplerTheme = "/* basic theme */\n.light-mode {\n --scalar-color-1: #2a2f45;\n --scalar-color-2: #757575;\n --scalar-color-3: #8e8e8e;\n --scalar-color-accent: #7070ff;\n\n --scalar-background-1: #fff;\n --scalar-background-2: #f6f6f6;\n --scalar-background-3: #e7e7e7;\n --scalar-background-accent: #7070ff1f;\n\n --scalar-border-color: rgba(0, 0, 0, 0.1);\n\n --scalar-code-language-color-supersede: var(--scalar-color-3);\n}\n.dark-mode {\n --scalar-color-1: #f7f8f8;\n --scalar-color-2: rgb(180, 188, 208);\n --scalar-color-3: #b4bcd099;\n --scalar-color-accent: #828fff;\n\n --scalar-background-1: #000212;\n --scalar-background-2: rgba(255, 255, 255, 0.05);\n --scalar-background-3: rgba(255, 255, 255, 0.09);\n --scalar-background-accent: #8ab4f81f;\n\n --scalar-border-color: #242537;\n --scalar-code-language-color-supersede: var(--scalar-color-3);\n}\n/* Document Sidebar */\n.light-mode .t-doc__sidebar {\n --scalar-sidebar-background-1: var(--scalar-background-1);\n --scalar-sidebar-item-hover-color: currentColor;\n --scalar-sidebar-item-hover-background: var(--scalar-background-2);\n --scalar-sidebar-item-active-background: var(--scalar-background-accent);\n --scalar-sidebar-border-color: var(--scalar-border-color);\n --scalar-sidebar-color-1: var(--scalar-color-1);\n --scalar-sidebar-color-2: var(--scalar-color-2);\n --scalar-sidebar-color-active: var(--scalar-color-accent);\n --scalar-sidebar-search-background: rgba(0, 0, 0, 0.05);\n --scalar-sidebar-search-border-color: 1px solid rgba(0, 0, 0, 0.05);\n --scalar-sidebar-search-color: var(--scalar-color-3);\n --scalar-background-2: rgba(0, 0, 0, 0.03);\n}\n.dark-mode .t-doc__sidebar {\n --scalar-sidebar-background-1: var(--scalar-background-1);\n --scalar-sidebar-item-hover-color: currentColor;\n --scalar-sidebar-item-hover-background: var(--scalar-background-2);\n --scalar-sidebar-item-active-background: rgba(255, 255, 255, 0.1);\n --scalar-sidebar-border-color: var(--scalar-border-color);\n --scalar-sidebar-color-1: var(--scalar-color-1);\n --scalar-sidebar-color-2: var(--scalar-color-2);\n --scalar-sidebar-color-active: var(--scalar-color-accent);\n --scalar-sidebar-search-background: rgba(255, 255, 255, 0.1);\n --scalar-sidebar-search-border-color: 1px solid rgba(255, 255, 255, 0.05);\n --scalar-sidebar-search-color: var(--scalar-color-3);\n}\n/* advanced */\n.light-mode {\n --scalar-color-green: #069061;\n --scalar-color-red: #ef0006;\n --scalar-color-yellow: #edbe20;\n --scalar-color-blue: #0082d0;\n --scalar-color-orange: #fb892c;\n --scalar-color-purple: #5203d1;\n\n --scalar-button-1: rgba(0, 0, 0, 1);\n --scalar-button-1-hover: rgba(0, 0, 0, 0.8);\n --scalar-button-1-color: rgba(255, 255, 255, 0.9);\n}\n.dark-mode {\n --scalar-color-green: #00b648;\n --scalar-color-red: #dc1b19;\n --scalar-color-yellow: #ffc90d;\n --scalar-color-blue: #4eb3ec;\n --scalar-color-orange: #ff8d4d;\n --scalar-color-purple: #b191f9;\n\n --scalar-button-1: rgba(255, 255, 255, 1);\n --scalar-button-1-hover: rgba(255, 255, 255, 0.9);\n --scalar-button-1-color: black;\n}\n/* Custom Theme */\n.dark-mode h2.t-editor__heading,\n.dark-mode .t-editor__page-title h1,\n.dark-mode h1.section-header,\n.dark-mode .markdown h1,\n.dark-mode .markdown h2,\n.dark-mode .markdown h3,\n.dark-mode .markdown h4,\n.dark-mode .markdown h5,\n.dark-mode .markdown h6 {\n -webkit-text-fill-color: transparent;\n background-image: linear-gradient(\n to right bottom,\n rgb(255, 255, 255) 30%,\n rgba(255, 255, 255, 0.38)\n );\n -webkit-background-clip: text;\n background-clip: text;\n}\n.sidebar-search {\n backdrop-filter: blur(12px);\n}\n@keyframes headerbackground {\n from {\n background: transparent;\n backdrop-filter: none;\n }\n to {\n background: var(--header-background-1);\n backdrop-filter: blur(12px);\n }\n}\n.dark-mode .scalar-card {\n background: rgba(255, 255, 255, 0.05) !important;\n}\n.dark-mode .scalar-card * {\n --scalar-background-2: transparent !important;\n --scalar-background-1: transparent !important;\n}\n.light-mode .dark-mode.scalar-card *,\n.light-mode .dark-mode.scalar-card {\n --scalar-background-1: #0d0f1e !important;\n --scalar-background-2: #0d0f1e !important;\n --scalar-background-3: #191b29 !important;\n}\n.light-mode .dark-mode.scalar-card {\n background: #191b29 !important;\n}\n.badge {\n box-shadow: 0 0 0 1px var(--scalar-border-color);\n margin-right: 6px;\n}\n\n.table-row.required-parameter .table-row-item:nth-of-type(2):after {\n background: transparent;\n box-shadow: none;\n}\n/* Hero Section Flare */\n.section-flare {\n width: 100vw;\n background: radial-gradient(\n ellipse 80% 50% at 50% -20%,\n rgba(120, 119, 198, 0.3),\n transparent\n );\n height: 100vh;\n}\n";
22
21
  const marsTheme = "/* basic theme */\n:root {\n --scalar-text-decoration: underline;\n --scalar-text-decoration-hover: underline;\n}\n.light-mode {\n --scalar-background-1: #f9f6f0;\n --scalar-background-2: #f2efe8;\n --scalar-background-3: #e9e7e2;\n --scalar-border-color: rgba(203, 165, 156, 0.6);\n\n --scalar-color-1: #c75549;\n --scalar-color-2: #c75549;\n --scalar-color-3: #c75549;\n\n --scalar-color-accent: #c75549;\n --scalar-background-accent: #dcbfa81f;\n\n --scalar-code-language-color-supersede: var(--scalar-color-1);\n}\n.dark-mode {\n --scalar-background-1: #140507;\n --scalar-background-2: #20090c;\n --scalar-background-3: #321116;\n --scalar-border-color: rgba(255, 255, 255, 0.1);\n\n --scalar-color-1: rgba(255, 255, 255, 0.9);\n --scalar-color-2: rgba(255, 255, 255, 0.62);\n --scalar-color-3: rgba(255, 255, 255, 0.44);\n\n --scalar-color-accent: rgba(255, 255, 255, 0.9);\n --scalar-background-accent: #441313;\n\n --scalar-code-language-color-supersede: var(--scalar-color-1);\n}\n\n/* Document Sidebar */\n.light-mode .t-doc__sidebar,\n.dark-mode .t-doc__sidebar {\n --scalar-sidebar-background-1: var(--scalar-background-1);\n --scalar-sidebar-color-1: var(--scalar-color-1);\n --scalar-sidebar-color-2: var(--scalar-color-2);\n --scalar-sidebar-border-color: var(--scalar-border-color);\n\n --scalar-sidebar-item-hover-color: currentColor;\n --scalar-sidebar-item-hover-background: var(--scalar-background-2);\n\n --scalar-sidebar-item-active-background: var(--scalar-background-3);\n --scalar-sidebar-color-active: var(--scalar-color-accent);\n\n --scalar-sidebar-search-background: rgba(255, 255, 255, 0.1);\n --scalar-sidebar-search-color: var(--scalar-color-3);\n --scalar-sidebar-search-border-color: var(--scalar-border-color);\n z-index: 1;\n}\n/* advanced */\n.light-mode {\n --scalar-color-green: #09533a;\n --scalar-color-red: #aa181d;\n --scalar-color-yellow: #ab8d2b;\n --scalar-color-blue: #19689a;\n --scalar-color-orange: #b26c34;\n --scalar-color-purple: #4c2191;\n\n --scalar-button-1: rgba(0, 0, 0, 1);\n --scalar-button-1-hover: rgba(0, 0, 0, 0.8);\n --scalar-button-1-color: rgba(255, 255, 255, 0.9);\n}\n.dark-mode {\n --scalar-color-green: rgba(69, 255, 165, 0.823);\n --scalar-color-red: #ff8589;\n --scalar-color-yellow: #ffcc4d;\n --scalar-color-blue: #6bc1fe;\n --scalar-color-orange: #f98943;\n --scalar-color-purple: #b191f9;\n\n --scalar-button-1: rgba(255, 255, 255, 1);\n --scalar-button-1-hover: rgba(255, 255, 255, 0.9);\n --scalar-button-1-color: black;\n}\n/* Custom Theme */\n.dark-mode h2.t-editor__heading,\n.dark-mode .t-editor__page-title h1,\n.dark-mode h1.section-header,\n.dark-mode .markdown h1,\n.dark-mode .markdown h2,\n.dark-mode .markdown h3,\n.dark-mode .markdown h4,\n.dark-mode .markdown h5,\n.dark-mode .markdown h6 {\n -webkit-text-fill-color: transparent;\n background-image: linear-gradient(\n to right bottom,\n rgb(255, 255, 255) 30%,\n rgba(255, 255, 255, 0.38)\n );\n -webkit-background-clip: text;\n background-clip: text;\n}\n.light-mode .t-doc__sidebar {\n --scalar-sidebar-search-background: white;\n}\n.examples .scalar-card-footer {\n --scalar-background-3: transparent;\n padding-top: 0;\n}\n/* Hero section flare */\n.section-flare-item:nth-of-type(1) {\n background: #d25019;\n width: 80vw;\n height: 500px;\n margin-top: -150px;\n border-radius: 50%;\n filter: blur(100px);\n z-index: 0;\n}\n.light-mode .section-flare {\n display: none;\n}\n.section-flare {\n top: -150px !important;\n height: 100vh;\n right: -400px !important;\n left: initial;\n}\n";
@@ -155,6 +154,8 @@ const createHash = (input) => {
155
154
  }
156
155
  return hash2;
157
156
  };
157
+ const defaultStateFactory = () => ({});
158
+ const ssrState = typeof window !== "undefined" ? window.__SCALAR__ ?? defaultStateFactory() : defaultStateFactory();
158
159
  const ALIAS = Symbol.for("yaml.alias");
159
160
  const DOC = Symbol.for("yaml.document");
160
161
  const MAP = Symbol.for("yaml.map");
@@ -1964,6 +1965,9 @@ const isJsonString = (value) => {
1964
1965
  return false;
1965
1966
  return !!json$1.parseSafe(value, false);
1966
1967
  };
1968
+ function normalizeMimeType(contentType) {
1969
+ return contentType.replace(/;.*$/, "").replace(/\/.+\+/, "/").trim();
1970
+ }
1967
1971
  const httpStatusCodes = {
1968
1972
  100: {
1969
1973
  name: "Continue",
@@ -2214,8 +2218,6 @@ const httpStatusCodes = {
2214
2218
  url: "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/511"
2215
2219
  }
2216
2220
  };
2217
- const defaultStateFactory = () => ({});
2218
- const ssrState = typeof window !== "undefined" ? window.__SCALAR__ ?? defaultStateFactory() : defaultStateFactory();
2219
2221
  const createEmptyAuthenticationState = () => ({
2220
2222
  preferredSecurityScheme: null,
2221
2223
  // In case the spec has no security and the user would like to add some
@@ -26050,6 +26052,9 @@ function mapFromArray(arr, key, valueKey) {
26050
26052
  });
26051
26053
  return obj;
26052
26054
  }
26055
+ const normalizeHeaders = (headers) => Object.fromEntries(
26056
+ Object.entries(headers ?? {}).map(([key, value]) => [key.toLowerCase(), value])
26057
+ );
26053
26058
  const normalizePath = (path) => {
26054
26059
  if (typeof path !== "string") {
26055
26060
  return "";
@@ -26091,9 +26096,7 @@ const normalizeUrl = (url) => {
26091
26096
  );
26092
26097
  sanitizedUrl = `http://${sanitizedUrl}`;
26093
26098
  }
26094
- const urlObject = new URL(sanitizedUrl);
26095
- urlObject.hostname = urlObject.hostname.trim().toLowerCase();
26096
- return urlObject.toString();
26099
+ return sanitizedUrl.trim();
26097
26100
  };
26098
26101
  function enable(items) {
26099
26102
  return (items ?? []).map((item) => ({ ...item, enabled: true }));
@@ -26147,6 +26150,14 @@ const replaceVariables = (url, variables2) => {
26147
26150
  return acc.replace(`{${key}}`, value.toString());
26148
26151
  }, url);
26149
26152
  };
26153
+ function redirectToProxy(proxy, url) {
26154
+ return `${proxy}?scalar_url=${encodeURI(url)}`;
26155
+ }
26156
+ function isRequestToLocalhost(url) {
26157
+ const { hostname } = new URL(url);
26158
+ const listOfLocalUrls = ["localhost", "127.0.0.1", "[::1]"];
26159
+ return listOfLocalUrls.includes(hostname);
26160
+ }
26150
26161
  async function sendRequest(request, proxyUrl) {
26151
26162
  var _a2;
26152
26163
  const method = normalizeRequestMethod(request.type);
@@ -26210,46 +26221,40 @@ async function sendRequest(request, proxyUrl) {
26210
26221
  headers,
26211
26222
  data: request.body
26212
26223
  };
26213
- const axiosRequestConfig = proxyUrl ? {
26214
- method: "POST",
26215
- url: proxyUrl,
26216
- data: requestConfig
26217
- } : {
26224
+ const shouldUseProxy = proxyUrl && !isRequestToLocalhost(requestConfig.url);
26225
+ const axiosRequestConfig = {
26218
26226
  method: requestConfig.method,
26219
- url: requestConfig.url,
26227
+ url: shouldUseProxy ? redirectToProxy(proxyUrl, requestConfig.url) : requestConfig.url,
26220
26228
  headers: requestConfig.headers,
26221
26229
  data: requestConfig.data
26222
26230
  };
26223
26231
  if (headers.cookies) {
26224
26232
  axiosRequestConfig.withCredentials = true;
26225
26233
  }
26226
- if (proxyUrl) {
26227
- console.info(`${requestConfig.method} ${proxyUrl} → ${requestConfig.url}`);
26234
+ if (shouldUseProxy) {
26235
+ console.info(
26236
+ `${requestConfig.method} ${requestConfig.url} (proxy: ${proxyUrl})`
26237
+ );
26228
26238
  } else {
26229
26239
  console.info(`${requestConfig.method} ${requestConfig.url}`);
26230
26240
  }
26231
- const response = await axios(axiosRequestConfig).then((result) => {
26232
- if (proxyUrl) {
26233
- return {
26234
- ...result.data,
26235
- error: false
26236
- };
26237
- }
26238
- return {
26239
- ...result,
26240
- statusCode: result.status,
26241
- data: JSON.stringify(result.data),
26242
- error: false
26243
- };
26244
- }).catch((error) => {
26241
+ const response = await axios(axiosRequestConfig).then((result) => ({
26242
+ ...result,
26243
+ statusCode: result.status,
26244
+ data: result.data,
26245
+ error: false
26246
+ })).catch((error) => {
26247
+ var _a3, _b;
26245
26248
  const { response: errorResponse } = error;
26249
+ console.error("ERROR", error);
26246
26250
  return {
26247
- headers: {
26248
- "content-type": "application/json; charset=utf-8"
26249
- },
26251
+ data: error.code ?? error.message,
26250
26252
  ...errorResponse,
26251
26253
  statusCode: (errorResponse == null ? void 0 : errorResponse.status) ?? 0,
26252
- data: JSON.stringify((errorResponse == null ? void 0 : errorResponse.data) ?? { error: error.code })
26254
+ error: {
26255
+ message: ((_a3 = errorResponse == null ? void 0 : errorResponse.data) == null ? void 0 : _a3.message) ?? error.message,
26256
+ stack: ((_b = errorResponse == null ? void 0 : errorResponse.data) == null ? void 0 : _b.stack) ?? error.stack
26257
+ }
26253
26258
  };
26254
26259
  });
26255
26260
  return {
@@ -26395,7 +26400,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
26395
26400
  }
26396
26401
  });
26397
26402
  const RequestMethodSelect = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-0f1e5bdc"]]);
26398
- const _withScopeId$5 = (n) => (pushScopeId("data-v-e3bb539e"), n = n(), popScopeId(), n);
26403
+ const _withScopeId$5 = (n) => (pushScopeId("data-v-b1791ec2"), n = n(), popScopeId(), n);
26399
26404
  const _hoisted_1$s = {
26400
26405
  key: 0,
26401
26406
  class: "loader"
@@ -26436,7 +26441,7 @@ const _hoisted_8$2 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ create
26436
26441
  const _hoisted_9$1 = [
26437
26442
  _hoisted_8$2
26438
26443
  ];
26439
- const _hoisted_10$1 = ["disabled"];
26444
+ const _hoisted_10 = ["disabled"];
26440
26445
  const _hoisted_11 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createElementVNode("svg", {
26441
26446
  fill: "none",
26442
26447
  height: "48",
@@ -26476,7 +26481,6 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
26476
26481
  const {
26477
26482
  activeRequest: activeRequest2,
26478
26483
  addRequestToHistory: addRequestToHistory2,
26479
- requestHistory: requestHistory2,
26480
26484
  requestHistoryOrder: requestHistoryOrder2,
26481
26485
  readOnly: readOnly2,
26482
26486
  setActiveRequest: setActiveRequest2
@@ -26554,7 +26558,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
26554
26558
  disabled: !formattedUrl.value.trim().length,
26555
26559
  type: "submit",
26556
26560
  onClick: send
26557
- }, _hoisted_13, 8, _hoisted_10$1)
26561
+ }, _hoisted_13, 8, _hoisted_10)
26558
26562
  ])
26559
26563
  ]),
26560
26564
  createElementVNode("div", {
@@ -26581,12 +26585,11 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
26581
26585
  };
26582
26586
  }
26583
26587
  });
26584
- const AddressBar = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-e3bb539e"]]);
26588
+ const AddressBar = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-b1791ec2"]]);
26585
26589
  const clickGeneratedParameter = useEventBus(Symbol());
26586
26590
  const _hoisted_1$r = { class: "scalar-api-client-item-topbar" };
26587
26591
  const _hoisted_2$k = { class: "scalar-api-client__toggle-container" };
26588
- const _hoisted_3$c = { class: "scalar-api-client__item__title" };
26589
- const _hoisted_4$9 = /* @__PURE__ */ createElementVNode("svg", {
26592
+ const _hoisted_3$c = /* @__PURE__ */ createElementVNode("svg", {
26590
26593
  class: "scalar-api-client__toggle__icon",
26591
26594
  xmlns: "http://www.w3.org/2000/svg",
26592
26595
  fill: "none",
@@ -26599,6 +26602,7 @@ const _hoisted_4$9 = /* @__PURE__ */ createElementVNode("svg", {
26599
26602
  d: "M2.2 4.1 6 7.9l3.8-3.8"
26600
26603
  })
26601
26604
  ], -1);
26605
+ const _hoisted_4$9 = { class: "scalar-api-client__item__title" };
26602
26606
  const _hoisted_5$6 = {
26603
26607
  key: 0,
26604
26608
  class: "scalar-api-client__item__options"
@@ -26643,8 +26647,8 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
26643
26647
  }, {
26644
26648
  default: withCtx(() => [
26645
26649
  createElementVNode("div", _hoisted_2$k, [
26646
- createElementVNode("span", _hoisted_3$c, toDisplayString(_ctx.title), 1),
26647
- _hoisted_4$9
26650
+ _hoisted_3$c,
26651
+ createElementVNode("span", _hoisted_4$9, toDisplayString(_ctx.title), 1)
26648
26652
  ])
26649
26653
  ]),
26650
26654
  _: 1
@@ -30827,7 +30831,7 @@ const ze = /* @__PURE__ */ defineComponent({
30827
30831
  ],
30828
30832
  ghost: [
30829
30833
  "scalar-button-ghost",
30830
- "bg-transparent text-fore-3 active:text-fore-2 hocus:text-fore-2"
30834
+ "bg-transparent text-fore-3 transition-colors active:text-fore-1 hocus:text-fore-1"
30831
30835
  ],
30832
30836
  danger: [
30833
30837
  "scalar-button-danger",
@@ -31791,7 +31795,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
31791
31795
  }
31792
31796
  });
31793
31797
  const SecurityScheme = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-3eb93ac9"]]);
31794
- const _withScopeId$3 = (n) => (pushScopeId("data-v-44b7136f"), n = n(), popScopeId(), n);
31798
+ const _withScopeId$3 = (n) => (pushScopeId("data-v-b83bdfab"), n = n(), popScopeId(), n);
31795
31799
  const _hoisted_1$m = {
31796
31800
  key: 0,
31797
31801
  class: "security-scheme-label"
@@ -31882,7 +31886,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
31882
31886
  };
31883
31887
  }
31884
31888
  });
31885
- const SecuritySchemeSelector = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-44b7136f"]]);
31889
+ const SecuritySchemeSelector = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-b83bdfab"]]);
31886
31890
  const _hoisted_1$l = {
31887
31891
  key: 0,
31888
31892
  class: "preferred-security-scheme"
@@ -31962,7 +31966,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
31962
31966
  };
31963
31967
  }
31964
31968
  });
31965
- const RequestAuthentication = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-4f9eaaf8"]]);
31969
+ const RequestAuthentication = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-3fb420c2"]]);
31966
31970
  const _hoisted_1$k = { class: "table-row" };
31967
31971
  const _hoisted_2$f = { class: "table-row-meta" };
31968
31972
  const _hoisted_3$8 = { class: "table-row-item" };
@@ -31995,7 +31999,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
31995
31999
  };
31996
32000
  }
31997
32001
  });
31998
- const GridRow = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-89e5db22"]]);
32002
+ const GridRow = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-af7279f3"]]);
31999
32003
  const _withScopeId$2 = (n) => (pushScopeId("data-v-b4e614c1"), n = n(), popScopeId(), n);
32000
32004
  const _hoisted_1$j = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("label", { class: "table-column-header" }, "Key", -1));
32001
32005
  const _hoisted_2$e = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("label", { class: "table-column-header" }, "Value", -1));
@@ -32044,7 +32048,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
32044
32048
  }
32045
32049
  });
32046
32050
  const GridHeader = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-b4e614c1"]]);
32047
- const _withScopeId$1 = (n) => (pushScopeId("data-v-be2f5ca3"), n = n(), popScopeId(), n);
32051
+ const _withScopeId$1 = (n) => (pushScopeId("data-v-85ff529a"), n = n(), popScopeId(), n);
32048
32052
  const _hoisted_1$i = { class: "meta-check" };
32049
32053
  const _hoisted_2$d = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("span", { class: "meta-checkmark" }, null, -1));
32050
32054
  const _hoisted_3$6 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("svg", {
@@ -32158,7 +32162,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
32158
32162
  };
32159
32163
  }
32160
32164
  });
32161
- const GridRowEditable = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-be2f5ca3"]]);
32165
+ const GridRowEditable = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-85ff529a"]]);
32162
32166
  const _withScopeId = (n) => (pushScopeId("data-v-78bcd93d"), n = n(), popScopeId(), n);
32163
32167
  const _hoisted_1$h = ["value"];
32164
32168
  const _hoisted_2$c = ["value"];
@@ -32279,7 +32283,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
32279
32283
  };
32280
32284
  }
32281
32285
  });
32282
- const Grid = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-6614d26a"]]);
32286
+ const Grid = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-c44da5e8"]]);
32283
32287
  const _hoisted_1$f = { class: "navtable simpletable" };
32284
32288
  const _hoisted_2$a = { class: "navtable-table" };
32285
32289
  const _hoisted_3$3 = /* @__PURE__ */ createStaticVNode('<div class="navtable-item navtable-item__top" data-v-5ba40e52><div class="navtable-item-33" data-v-5ba40e52><label for="" data-v-5ba40e52>Name</label></div><div class="navtable-item-66" data-v-5ba40e52><label for="" data-v-5ba40e52>Value</label></div></div>', 1);
@@ -32691,10 +32695,10 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
32691
32695
  ])
32692
32696
  ]),
32693
32697
  createElementVNode("div", _hoisted_7$1, [
32698
+ createVNode(unref(RequestAuthentication)),
32694
32699
  createVNode(_sfc_main$c, {
32695
32700
  variables: unref(activeRequest2).variables
32696
32701
  }, null, 8, ["variables"]),
32697
- createVNode(unref(RequestAuthentication)),
32698
32702
  createVNode(_sfc_main$f, {
32699
32703
  cookies: unref(activeRequest2).cookies,
32700
32704
  generatedCookies: authenticationRequest.value.cookies
@@ -32758,27 +32762,21 @@ const _hoisted_2$3 = {
32758
32762
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
32759
32763
  __name: "ResponseBody",
32760
32764
  props: {
32761
- active: { type: Boolean, default: false },
32762
- data: { default: null },
32763
- headers: {}
32765
+ response: {}
32764
32766
  },
32765
32767
  setup(__props) {
32766
32768
  const props = __props;
32767
32769
  const mediaType = computed(() => {
32768
- const contentTypeHeader = props.headers.find(
32769
- (header) => header.name.toLowerCase() === "content-type"
32770
- );
32770
+ var _a2;
32771
+ const headers = normalizeHeaders((_a2 = props.response) == null ? void 0 : _a2.headers);
32772
+ const contentTypeHeader = headers["content-type"];
32771
32773
  if (!contentTypeHeader) {
32772
32774
  return null;
32773
32775
  }
32774
- try {
32775
- return contentType.parse(contentTypeHeader.value).type;
32776
- } catch {
32777
- return null;
32778
- }
32776
+ return normalizeMimeType(contentTypeHeader == null ? void 0 : contentTypeHeader.value);
32779
32777
  });
32780
32778
  const codeMirrorLanguage = computed(() => {
32781
- if (mediaType.value === "application/json" || mediaType.value === "application/problem+json" || mediaType.value === "application/vnd.api+json") {
32779
+ if (mediaType.value === "application/json") {
32782
32780
  return "json";
32783
32781
  }
32784
32782
  if (mediaType.value === "text/html") {
@@ -32787,20 +32785,30 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
32787
32785
  if (mediaType.value === "text/plain") {
32788
32786
  return "html";
32789
32787
  }
32790
- return null;
32788
+ return void 0;
32789
+ });
32790
+ const formattedResponseData = computed(() => {
32791
+ var _a2;
32792
+ const value = (_a2 = props.response) == null ? void 0 : _a2.data;
32793
+ if (value && isJsonString(value)) {
32794
+ return JSON.stringify(JSON.parse(value), null, 2);
32795
+ } else if (value && typeof toRaw(value) === "object") {
32796
+ return JSON.stringify(value, null, 2);
32797
+ }
32798
+ return value;
32791
32799
  });
32792
32800
  return (_ctx, _cache) => {
32793
32801
  return openBlock(), createBlock(unref(_sfc_main$v), { title: "Body" }, {
32794
32802
  default: withCtx(() => [
32795
- _ctx.active ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
32796
- codeMirrorLanguage.value ? (openBlock(), createBlock(unref(Pt), {
32803
+ _ctx.response ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
32804
+ codeMirrorLanguage.value || typeof _ctx.response.data === "string" ? (openBlock(), createBlock(unref(Pt), {
32797
32805
  key: 0,
32798
32806
  class: "custom-scroll",
32799
- content: _ctx.data,
32807
+ content: formattedResponseData.value,
32800
32808
  lang: codeMirrorLanguage.value
32801
32809
  }, null, 8, ["content", "lang"])) : (openBlock(), createElementBlock("div", _hoisted_1$7, [
32802
32810
  mediaType.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
32803
- createTextVNode(" No Preview Available (" + toDisplayString(mediaType.value) + ") ", 1)
32811
+ createTextVNode(" No preview available for " + toDisplayString(mediaType.value), 1)
32804
32812
  ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
32805
32813
  createTextVNode(" Can’t render a preview. The Content-Type header is missing or unknown. ")
32806
32814
  ], 64))
@@ -32856,7 +32864,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32856
32864
  };
32857
32865
  }
32858
32866
  });
32859
- const SimpleCell = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-6e4f979a"]]);
32867
+ const SimpleCell = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-3f6c63da"]]);
32860
32868
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
32861
32869
  __name: "SimpleHeader",
32862
32870
  setup(__props) {
@@ -32892,7 +32900,7 @@ function _sfc_render(_ctx, _cache) {
32892
32900
  ])
32893
32901
  ]);
32894
32902
  }
32895
- const SimpleTable = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render], ["__scopeId", "data-v-24b666dc"]]);
32903
+ const SimpleTable = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render], ["__scopeId", "data-v-afe94232"]]);
32896
32904
  const _hoisted_1$3 = {
32897
32905
  key: 1,
32898
32906
  class: "scalar-api-client__empty-state"
@@ -32971,7 +32979,10 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
32971
32979
  }
32972
32980
  });
32973
32981
  const _hoisted_1$2 = { class: "meta-item" };
32974
- const _hoisted_2$1 = { class: "meta-item" };
32982
+ const _hoisted_2$1 = {
32983
+ key: 0,
32984
+ class: "meta-item"
32985
+ };
32975
32986
  const _hoisted_3$1 = { class: "meta-item" };
32976
32987
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
32977
32988
  __name: "ResponseMetaInformation",
@@ -32982,12 +32993,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
32982
32993
  const props = __props;
32983
32994
  const getContentLength = (response) => {
32984
32995
  var _a2;
32985
- if ((_a2 = response == null ? void 0 : response.headers) == null ? void 0 : _a2["X-API-Client-Content-Length"]) {
32986
- return prettyBytes(
32987
- parseFloat(response.headers["X-API-Client-Content-Length"])
32988
- );
32989
- }
32990
- return prettyBytes(0);
32996
+ const contentLength = parseInt((_a2 = response.headers) == null ? void 0 : _a2["content-length"], 10);
32997
+ return contentLength ? prettyBytes(contentLength) : void 0;
32991
32998
  };
32992
32999
  const statusCodeInformation = computed(() => {
32993
33000
  const responseStatusCode = props.response.statusCode;
@@ -33002,27 +33009,25 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
33002
33009
  createElementVNode("div", _hoisted_1$2, [
33003
33010
  createElementVNode("span", null, toDisplayString(unref(prettyMilliseconds)(_ctx.response.duration)), 1)
33004
33011
  ]),
33005
- createElementVNode("div", _hoisted_2$1, [
33012
+ getContentLength(_ctx.response) ? (openBlock(), createElementBlock("div", _hoisted_2$1, [
33006
33013
  createElementVNode("span", null, toDisplayString(getContentLength(_ctx.response)), 1)
33007
- ]),
33014
+ ])) : createCommentVNode("", true),
33008
33015
  createElementVNode("div", _hoisted_3$1, [
33009
- createElementVNode("span", {
33010
- class: normalizeClass(`scalar-api-client__status scalar-api-client__status--${String(
33011
- _ctx.response.statusCode
33012
- ).charAt(0)}xx`)
33013
- }, [
33014
- ((_a2 = statusCodeInformation.value) == null ? void 0 : _a2.url) ? (openBlock(), createBlock(HelpfulLink, {
33015
- key: 0,
33016
- href: statusCodeInformation.value.url
33017
- }, {
33018
- default: withCtx(() => [
33019
- createTextVNode(toDisplayString(_ctx.response.statusCode) + " " + toDisplayString(statusCodeInformation.value.name), 1)
33020
- ]),
33021
- _: 1
33022
- }, 8, ["href"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
33023
- createTextVNode(toDisplayString(_ctx.response.statusCode) + " " + toDisplayString((_b = statusCodeInformation.value) == null ? void 0 : _b.name), 1)
33024
- ], 64))
33025
- ], 2)
33016
+ createElementVNode("span", null, [
33017
+ _ctx.response.statusCode ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
33018
+ ((_a2 = statusCodeInformation.value) == null ? void 0 : _a2.url) ? (openBlock(), createBlock(HelpfulLink, {
33019
+ key: 0,
33020
+ href: statusCodeInformation.value.url
33021
+ }, {
33022
+ default: withCtx(() => [
33023
+ createTextVNode(toDisplayString(_ctx.response.statusCode) + " " + toDisplayString(statusCodeInformation.value.name), 1)
33024
+ ]),
33025
+ _: 1
33026
+ }, 8, ["href"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
33027
+ createTextVNode(toDisplayString(_ctx.response.statusCode) + " " + toDisplayString((_b = statusCodeInformation.value) == null ? void 0 : _b.name), 1)
33028
+ ], 64))
33029
+ ], 64)) : createCommentVNode("", true)
33030
+ ])
33026
33031
  ])
33027
33032
  ], 64);
33028
33033
  };
@@ -33049,7 +33054,6 @@ const _hoisted_9 = {
33049
33054
  key: 1,
33050
33055
  class: "scalar-api-client__main__content empty-state"
33051
33056
  };
33052
- const _hoisted_10 = /* @__PURE__ */ createElementVNode("p", null, "Fill the void and send your request", -1);
33053
33057
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
33054
33058
  __name: "Response",
33055
33059
  setup(__props) {
@@ -33057,31 +33061,13 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
33057
33061
  const responseHeaders = computed(() => {
33058
33062
  var _a2;
33059
33063
  const headers = (_a2 = activeResponse2.value) == null ? void 0 : _a2.headers;
33060
- return headers ? Object.keys(headers).map((key) => ({ name: key, value: headers[key] })).filter(
33061
- (item) => ![
33062
- "rest-api-client-content-length",
33063
- "X-API-Client-Content-Length"
33064
- ].includes(item.name)
33065
- ) : [];
33064
+ return headers ? Object.keys(headers).map((key) => ({ name: key, value: headers[key] })) : [];
33066
33065
  });
33067
33066
  const responseCookies = computed(() => {
33068
33067
  var _a2;
33069
33068
  const cookies = (_a2 = activeResponse2.value) == null ? void 0 : _a2.cookies;
33070
33069
  return cookies ? Object.keys(cookies).map((key) => ({ name: key, value: cookies[key] })) : [];
33071
33070
  });
33072
- const responseData = computed(() => {
33073
- var _a2;
33074
- const value = (_a2 = activeResponse2.value) == null ? void 0 : _a2.data;
33075
- if (value && isJsonString(value)) {
33076
- return JSON.stringify(JSON.parse(value), null, 2);
33077
- } else if (value && typeof toRaw(value) === "object") {
33078
- return JSON.stringify(value, null, 2);
33079
- }
33080
- if (value && !isJsonString(value)) {
33081
- return JSON.stringify(value, null, 2);
33082
- }
33083
- return value;
33084
- });
33085
33071
  return (_ctx, _cache) => {
33086
33072
  return openBlock(), createElementBlock("div", _hoisted_1$1, [
33087
33073
  createElementVNode("div", _hoisted_2, [
@@ -33092,11 +33078,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
33092
33078
  ])) : createCommentVNode("", true)
33093
33079
  ]),
33094
33080
  unref(activeRequestId2) && unref(activeResponse2) ? (openBlock(), createElementBlock("div", _hoisted_6, [
33095
- createVNode(_sfc_main$9, {
33096
- active: !!unref(activeResponse2),
33097
- data: responseData.value,
33098
- headers: responseHeaders.value
33099
- }, null, 8, ["active", "data", "headers"]),
33081
+ createVNode(_sfc_main$9, { response: unref(activeResponse2) }, null, 8, ["response"]),
33100
33082
  createVNode(_sfc_main$3, { headers: responseHeaders.value }, null, 8, ["headers"]),
33101
33083
  createVNode(unref(_sfc_main$v), { title: "Cookies" }, {
33102
33084
  default: withCtx(() => [
@@ -33109,8 +33091,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
33109
33091
  }),
33110
33092
  _hoisted_8
33111
33093
  ])) : (openBlock(), createElementBlock("div", _hoisted_9, [
33112
- createVNode(ScalarAsciiArt, { art: unref(Computer) }, null, 8, ["art"]),
33113
- _hoisted_10
33094
+ createVNode(ScalarAsciiArt, { art: unref(Computer) }, null, 8, ["art"])
33114
33095
  ]))
33115
33096
  ])
33116
33097
  ]);
@@ -33254,6 +33235,7 @@ export {
33254
33235
  humanDiff,
33255
33236
  isRequestMethod,
33256
33237
  mapFromArray,
33238
+ normalizeHeaders,
33257
33239
  normalizePath,
33258
33240
  normalizeRequestMethod,
33259
33241
  normalizeUrl,
package/package.json CHANGED
@@ -18,7 +18,7 @@
18
18
  "rest",
19
19
  "testing"
20
20
  ],
21
- "version": "1.2.29",
21
+ "version": "1.2.31",
22
22
  "engines": {
23
23
  "node": ">=18"
24
24
  },
@@ -37,16 +37,15 @@
37
37
  "@scalar/openapi-parser": "^0.3.2",
38
38
  "@vueuse/core": "^10.9.0",
39
39
  "axios": "^1.6.8",
40
- "content-type": "^1.0.5",
41
40
  "httpsnippet-lite": "^3.0.5",
42
41
  "nanoid": "^5.0.1",
43
42
  "pretty-bytes": "^6.1.1",
44
43
  "pretty-ms": "^8.0.0",
45
- "@scalar/components": "0.7.9",
44
+ "@scalar/components": "0.7.11",
46
45
  "@scalar/themes": "0.7.11",
47
46
  "@scalar/use-codemirror": "0.10.5",
48
- "@scalar/use-tooltip": "0.6.2",
49
- "@scalar/use-modal": "0.3.3"
47
+ "@scalar/use-modal": "0.3.3",
48
+ "@scalar/use-tooltip": "0.6.2"
50
49
  },
51
50
  "devDependencies": {
52
51
  "@types/content-type": "^1.1.6",
@@ -58,13 +57,13 @@
58
57
  "vitest": "^1.5.0",
59
58
  "vue": "^3.4.21",
60
59
  "vue-tsc": "^1.8.19",
61
- "@scalar/echo-server": "0.6.4",
62
- "@scalar/oas-utils": "0.1.11",
63
- "@scalar/api-client-proxy": "0.5.27"
60
+ "@scalar/api-client-proxy": "0.5.27",
61
+ "@scalar/oas-utils": "0.1.13",
62
+ "@scalar/echo-server": "0.6.4"
64
63
  },
65
64
  "peerDependencies": {
66
65
  "vue": "^3.3.0",
67
- "@scalar/oas-utils": "0.1.11"
66
+ "@scalar/oas-utils": "0.1.13"
68
67
  },
69
68
  "scripts": {
70
69
  "build": "vite build && pnpm types:build && tsc-alias -p tsconfig.build.json",