@scalar/api-reference 1.57.3 → 1.57.5
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/CHANGELOG.md +10 -0
- package/dist/browser/standalone.js +234 -234
- package/dist/browser/webpack-stats.json +1 -1
- package/dist/components/ApiReference.vue.script.js +1 -1
- package/dist/features/Operation/components/ParameterListItem.vue.js +1 -1
- package/dist/features/Operation/components/ParameterListItem.vue.js.map +1 -1
- package/dist/features/Operation/components/ParameterListItem.vue.script.js +9 -9
- package/dist/features/Operation/components/ParameterListItem.vue.script.js.map +1 -1
- package/dist/style.css +20 -20
- package/dist/vue-styles.css +20 -20
- package/package.json +14 -14
|
@@ -54,7 +54,7 @@ var _hoisted_5 = {
|
|
|
54
54
|
key: 2,
|
|
55
55
|
class: "references-footer"
|
|
56
56
|
};
|
|
57
|
-
var version = "1.57.
|
|
57
|
+
var version = "1.57.5";
|
|
58
58
|
if (typeof window !== "undefined") console.info(`@scalar/api-reference@${version}`);
|
|
59
59
|
var ApiReference_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
60
60
|
__name: "ApiReference",
|
|
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
|
|
|
2
2
|
import ParameterListItem_vue_vue_type_script_setup_true_lang_default from "./ParameterListItem.vue.script.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/features/Operation/components/ParameterListItem.vue
|
|
5
|
-
var ParameterListItem_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ParameterListItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var ParameterListItem_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ParameterListItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-ca54f4ef"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { ParameterListItem_default as default };
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterListItem.vue.js","names":[],"sources":["../../../../src/features/Operation/components/ParameterListItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport {\n ScalarMarkdown,\n ScalarMarkdownSummary,\n} from '@scalar/components/markdown'\nimport { ScalarWrappingText } from '@scalar/components/wrapping-text'\nimport { ScalarIconCaretRight } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n ParameterObject,\n ResponseObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref } from 'vue'\n\nimport { getRefName } from '@/components/Content/Schema/helpers/get-ref-name'\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nimport ContentTypeSelect from './ContentTypeSelect.vue'\nimport Headers from './Headers.vue'\nimport { getParameterExamples } from './helpers/get-parameter-examples'\n\nconst { name, parameter, options, collapsableItems } = defineProps<{\n parameter: ParameterObject | ResponseObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n collapsableItems?: boolean\n options: Pick<\n OperationProps['options'],\n 'hideModels' | 'orderRequiredPropertiesFirst' | 'orderSchemaPropertiesBy'\n >\n}>()\n\n/** Whether the markdown summary is being truncated */\nconst truncated = ref(false)\n\n/** Responses and params may both have a schema */\nconst schema = computed<SchemaObject | null>(() =>\n 'schema' in parameter && parameter.schema\n ? getResolvedRef(parameter.schema)\n : null,\n)\n\n/** Response and params may both have content */\nconst content = computed(() => {\n if (!('content' in parameter) || !parameter.content) {\n return null\n }\n const keys = Object.keys(parameter.content)\n if (keys.length === 0) {\n return null\n }\n return parameter.content\n})\n\nconst selectedContentType = ref<string>(\n Object.keys(content.value || {})[0] ?? '',\n)\n\n/** Response headers */\nconst headers = computed<ResponseObject['headers'] | null>(() =>\n 'headers' in parameter && parameter.headers ? parameter.headers : null,\n)\n\n/** Raw schema (possibly with $ref) for the selected content type or param. */\nconst baseSchema = computed(() =>\n content.value\n ? content.value?.[selectedContentType.value]?.schema\n : 'schema' in parameter && parameter.schema\n ? parameter.schema\n : null,\n)\n\n/** When the schema is a $ref, preserve its name so the UI can show the ref name instead of just the type. */\nconst schemaModelName = computed(() => {\n const raw = baseSchema.value\n if (!raw) {\n return null\n }\n\n if ('$ref' in raw) {\n return getRefName(raw.$ref)\n }\n\n return null\n})\n\n/** Computed value from the combined schema param and content param */\nconst value = computed(() => {\n const base = baseSchema.value\n const resolvedBase = content.value ? getResolvedRef(base) : schema.value\n\n const deprecated =\n 'deprecated' in parameter ? parameter.deprecated : schema.value?.deprecated\n\n /** Combine param/content/schema examples while ignoring undefined values. */\n const examples = getParameterExamples({\n parameter,\n schemaExamples: schema.value?.examples,\n contentExamples: content.value?.[selectedContentType.value]?.examples,\n })\n\n return {\n ...resolvedBase,\n deprecated: deprecated,\n examples,\n } as SchemaObject\n})\n\n/**\n * Determines whether this parameter item should be rendered as a collapsible disclosure.\n * Only collapses when collapsableItems is enabled and the parameter has additional\n * content to display (content types, headers, or schema details).\n */\nconst shouldCollapse = computed<boolean>(() =>\n Boolean(content.value || headers.value || schema.value || truncated.value),\n)\n</script>\n<template>\n <li class=\"parameter-item group/parameter-item\">\n <Disclosure v-slot=\"{ open }\">\n <component\n :is=\"shouldCollapse ? DisclosureButton : 'div'\"\n v-if=\"collapsableItems\"\n class=\"parameter-item-trigger\"\n :class=\"{ 'parameter-item-trigger-open': open }\">\n <div class=\"parameter-item-name min-w-0\">\n <ScalarIconCaretRight\n v-if=\"shouldCollapse\"\n class=\"parameter-item-icon size-3 transition-transform duration-100\"\n :class=\"{ 'rotate-90': open }\"\n weight=\"bold\" />\n <div>\n <ScalarWrappingText\n preset=\"property\"\n :text=\"name\" />\n </div>\n </div>\n <ScalarMarkdownSummary\n v-if=\"!open && parameter.description\"\n v-model:truncated=\"truncated\"\n class=\"parameter-item-description-summary min-w-0 flex-1\"\n controlled\n :value=\"parameter.description\" />\n <div\n v-else\n class=\"flex-1\" />\n </component>\n <
|
|
1
|
+
{"version":3,"file":"ParameterListItem.vue.js","names":[],"sources":["../../../../src/features/Operation/components/ParameterListItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport {\n ScalarMarkdown,\n ScalarMarkdownSummary,\n} from '@scalar/components/markdown'\nimport { ScalarWrappingText } from '@scalar/components/wrapping-text'\nimport { ScalarIconCaretRight } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n ParameterObject,\n ResponseObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref } from 'vue'\n\nimport { getRefName } from '@/components/Content/Schema/helpers/get-ref-name'\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nimport ContentTypeSelect from './ContentTypeSelect.vue'\nimport Headers from './Headers.vue'\nimport { getParameterExamples } from './helpers/get-parameter-examples'\n\nconst { name, parameter, options, collapsableItems } = defineProps<{\n parameter: ParameterObject | ResponseObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n collapsableItems?: boolean\n options: Pick<\n OperationProps['options'],\n 'hideModels' | 'orderRequiredPropertiesFirst' | 'orderSchemaPropertiesBy'\n >\n}>()\n\n/** Whether the markdown summary is being truncated */\nconst truncated = ref(false)\n\n/** Responses and params may both have a schema */\nconst schema = computed<SchemaObject | null>(() =>\n 'schema' in parameter && parameter.schema\n ? getResolvedRef(parameter.schema)\n : null,\n)\n\n/** Response and params may both have content */\nconst content = computed(() => {\n if (!('content' in parameter) || !parameter.content) {\n return null\n }\n const keys = Object.keys(parameter.content)\n if (keys.length === 0) {\n return null\n }\n return parameter.content\n})\n\nconst selectedContentType = ref<string>(\n Object.keys(content.value || {})[0] ?? '',\n)\n\n/** Response headers */\nconst headers = computed<ResponseObject['headers'] | null>(() =>\n 'headers' in parameter && parameter.headers ? parameter.headers : null,\n)\n\n/** Raw schema (possibly with $ref) for the selected content type or param. */\nconst baseSchema = computed(() =>\n content.value\n ? content.value?.[selectedContentType.value]?.schema\n : 'schema' in parameter && parameter.schema\n ? parameter.schema\n : null,\n)\n\n/** When the schema is a $ref, preserve its name so the UI can show the ref name instead of just the type. */\nconst schemaModelName = computed(() => {\n const raw = baseSchema.value\n if (!raw) {\n return null\n }\n\n if ('$ref' in raw) {\n return getRefName(raw.$ref)\n }\n\n return null\n})\n\n/** Computed value from the combined schema param and content param */\nconst value = computed(() => {\n const base = baseSchema.value\n const resolvedBase = content.value ? getResolvedRef(base) : schema.value\n\n const deprecated =\n 'deprecated' in parameter ? parameter.deprecated : schema.value?.deprecated\n\n /** Combine param/content/schema examples while ignoring undefined values. */\n const examples = getParameterExamples({\n parameter,\n schemaExamples: schema.value?.examples,\n contentExamples: content.value?.[selectedContentType.value]?.examples,\n })\n\n return {\n ...resolvedBase,\n deprecated: deprecated,\n examples,\n } as SchemaObject\n})\n\n/**\n * Determines whether this parameter item should be rendered as a collapsible disclosure.\n * Only collapses when collapsableItems is enabled and the parameter has additional\n * content to display (content types, headers, or schema details).\n */\nconst shouldCollapse = computed<boolean>(() =>\n Boolean(content.value || headers.value || schema.value || truncated.value),\n)\n</script>\n<template>\n <li class=\"parameter-item group/parameter-item\">\n <Disclosure v-slot=\"{ open }\">\n <component\n :is=\"shouldCollapse ? DisclosureButton : 'div'\"\n v-if=\"collapsableItems\"\n class=\"parameter-item-trigger\"\n :class=\"{ 'parameter-item-trigger-open': open }\">\n <div class=\"parameter-item-name min-w-0\">\n <ScalarIconCaretRight\n v-if=\"shouldCollapse\"\n class=\"parameter-item-icon size-3 transition-transform duration-100\"\n :class=\"{ 'rotate-90': open }\"\n weight=\"bold\" />\n <div>\n <ScalarWrappingText\n preset=\"property\"\n :text=\"name\" />\n </div>\n </div>\n <ScalarMarkdownSummary\n v-if=\"!open && parameter.description\"\n v-model:truncated=\"truncated\"\n class=\"parameter-item-description-summary min-w-0 flex-1\"\n controlled\n :value=\"parameter.description\" />\n <div\n v-else\n class=\"flex-1\" />\n </component>\n <DisclosurePanel\n class=\"parameter-item-container parameter-item-container-markdown\"\n :static=\"!collapsableItems\">\n <ScalarMarkdown\n v-if=\"collapsableItems && parameter.description\"\n class=\"parameter-item-description\"\n :value=\"parameter.description\" />\n <!-- Headers -->\n <Headers\n v-if=\"headers\"\n :breadcrumb=\"breadcrumb\"\n :eventBus=\"eventBus\"\n :headers=\"headers\"\n :orderRequiredPropertiesFirst=\"options.orderRequiredPropertiesFirst\"\n :orderSchemaPropertiesBy=\"options.orderSchemaPropertiesBy\" />\n\n <!-- Schema -->\n <SchemaProperty\n is=\"div\"\n :breadcrumb=\"breadcrumb\"\n compact\n :description=\"collapsableItems ? '' : parameter.description\"\n :eventBus=\"eventBus\"\n :hideWriteOnly=\"true\"\n :modelName=\"schemaModelName\"\n :name=\"collapsableItems ? '' : name\"\n :noncollapsible=\"true\"\n :options=\"{\n hideWriteOnly: true,\n orderRequiredPropertiesFirst: options.orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: options.orderSchemaPropertiesBy,\n }\"\n :required=\"'required' in parameter && parameter.required\"\n :schema=\"value\" />\n </DisclosurePanel>\n <div\n v-if=\"shouldCollapse && content\"\n class=\"absolute top-[calc(10px+0.5lh)] right-0 z-0 flex -translate-y-1/2 items-center text-base\"\n :class=\"{\n 'opacity-0 group-focus-within/parameter-item:opacity-100 group-hover/parameter-item:opacity-100':\n !open,\n }\">\n <div\n class=\"from-b-1 absolute inset-y-0 -left-6 -z-1 w-8 bg-linear-to-l from-40% to-transparent\" />\n <ContentTypeSelect\n v-model=\"selectedContentType\"\n :content=\"content\" />\n </div>\n </Disclosure>\n </li>\n</template>\n\n<style scoped>\n.parameter-item {\n display: flex;\n flex-direction: column;\n position: relative;\n border-top: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.parameter-item:last-of-type .parameter-schema {\n padding-bottom: 0;\n}\n\n.parameter-item-container {\n padding: 0;\n}\n\n.parameter-item-headers {\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.parameter-item-name {\n position: relative;\n font-weight: var(--scalar-bold);\n font-size: var(--scalar-font-size-4);\n font-family: var(--scalar-font-code);\n color: var(--scalar-color-1);\n overflow-wrap: break-word;\n}\n\n.parameter-item-description,\n.parameter-item-description-summary {\n font-size: var(--scalar-mini);\n color: var(--scalar-color-2);\n}\n\n.parameter-item-description-summary.parameter-item-description-summary > * {\n --markdown-line-height: var(--scalar-line-height-5);\n}\n\n/* Match font size of markdown for property-detail-value since first child within accordian is displayed as if it were in the markdown section */\n.parameter-item-trigger\n ~ .parameter-item-container\n :deep(.property--level-0 > .property-heading .property-detail-value) {\n font-size: var(--scalar-micro);\n}\n\n.parameter-item-required-optional {\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n margin-right: 6px;\n position: relative;\n}\n\n.parameter-item--required {\n text-transform: uppercase;\n font-size: var(--scalar-micro);\n font-weight: var(--scalar-semibold);\n color: var(--scalar-color-orange);\n}\n\n.parameter-item-description {\n margin-top: 6px;\n font-size: var(--scalar-small);\n color: var(--scalar-color-2);\n line-height: 1.4;\n}\n\n.parameter-item-description :deep(p) {\n margin-top: 4px;\n font-size: var(--scalar-small);\n color: var(--scalar-color-2);\n}\n\n.parameter-schema {\n padding-bottom: 9px;\n margin-top: 3px;\n}\n\n.parameter-item-trigger {\n display: flex;\n align-items: baseline;\n line-height: var(--scalar-line-height-5);\n gap: 6px;\n flex-wrap: wrap;\n padding: 10px 0;\n outline: none;\n}\n\n.parameter-item-trigger-open {\n padding-bottom: 0;\n}\n\n.parameter-item-icon {\n color: var(--scalar-color-3);\n left: -19px;\n top: 0.5lh;\n translate: 0 -50%;\n position: absolute;\n}\n\n.parameter-item-trigger:hover .parameter-item-icon,\n.parameter-item-trigger:focus-visible .parameter-item-icon {\n color: var(--scalar-color-1);\n}\n\n.parameter-item-trigger:focus-visible .parameter-item-icon {\n outline: 1px solid var(--scalar-color-accent);\n outline-offset: 2px;\n border-radius: var(--scalar-radius);\n}\n</style>\n"],"mappings":""}
|
|
@@ -96,14 +96,6 @@ var ParameterListItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
96
96
|
}, null, 8, ["truncated", "value"])) : (openBlock(), createElementBlock("div", _hoisted_3))]),
|
|
97
97
|
_: 2
|
|
98
98
|
}, 1032, ["class"])) : createCommentVNode("", true),
|
|
99
|
-
shouldCollapse.value && content.value ? (openBlock(), createElementBlock("div", {
|
|
100
|
-
key: 1,
|
|
101
|
-
class: normalizeClass(["absolute top-[calc(10px+0.5lh)] right-0 z-0 flex -translate-y-1/2 items-center text-base", { "opacity-0 group-focus-within/parameter-item:opacity-100 group-hover/parameter-item:opacity-100": !open }])
|
|
102
|
-
}, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "from-b-1 absolute inset-y-0 -left-6 -z-1 w-8 bg-linear-to-l from-40% to-transparent" }, null, -1)), createVNode(ContentTypeSelect_default, {
|
|
103
|
-
modelValue: selectedContentType.value,
|
|
104
|
-
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => selectedContentType.value = $event),
|
|
105
|
-
content: content.value
|
|
106
|
-
}, null, 8, ["modelValue", "content"])], 2)) : createCommentVNode("", true),
|
|
107
99
|
createVNode(unref(DisclosurePanel), {
|
|
108
100
|
class: "parameter-item-container parameter-item-container-markdown",
|
|
109
101
|
static: !__props.collapsableItems
|
|
@@ -157,7 +149,15 @@ var ParameterListItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
157
149
|
])
|
|
158
150
|
]),
|
|
159
151
|
_: 1
|
|
160
|
-
}, 8, ["static"])
|
|
152
|
+
}, 8, ["static"]),
|
|
153
|
+
shouldCollapse.value && content.value ? (openBlock(), createElementBlock("div", {
|
|
154
|
+
key: 1,
|
|
155
|
+
class: normalizeClass(["absolute top-[calc(10px+0.5lh)] right-0 z-0 flex -translate-y-1/2 items-center text-base", { "opacity-0 group-focus-within/parameter-item:opacity-100 group-hover/parameter-item:opacity-100": !open }])
|
|
156
|
+
}, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "from-b-1 absolute inset-y-0 -left-6 -z-1 w-8 bg-linear-to-l from-40% to-transparent" }, null, -1)), createVNode(ContentTypeSelect_default, {
|
|
157
|
+
modelValue: selectedContentType.value,
|
|
158
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => selectedContentType.value = $event),
|
|
159
|
+
content: content.value
|
|
160
|
+
}, null, 8, ["modelValue", "content"])], 2)) : createCommentVNode("", true)
|
|
161
161
|
]),
|
|
162
162
|
_: 1
|
|
163
163
|
})]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterListItem.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/ParameterListItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport {\n ScalarMarkdown,\n ScalarMarkdownSummary,\n} from '@scalar/components/markdown'\nimport { ScalarWrappingText } from '@scalar/components/wrapping-text'\nimport { ScalarIconCaretRight } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n ParameterObject,\n ResponseObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref } from 'vue'\n\nimport { getRefName } from '@/components/Content/Schema/helpers/get-ref-name'\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nimport ContentTypeSelect from './ContentTypeSelect.vue'\nimport Headers from './Headers.vue'\nimport { getParameterExamples } from './helpers/get-parameter-examples'\n\nconst { name, parameter, options, collapsableItems } = defineProps<{\n parameter: ParameterObject | ResponseObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n collapsableItems?: boolean\n options: Pick<\n OperationProps['options'],\n 'hideModels' | 'orderRequiredPropertiesFirst' | 'orderSchemaPropertiesBy'\n >\n}>()\n\n/** Whether the markdown summary is being truncated */\nconst truncated = ref(false)\n\n/** Responses and params may both have a schema */\nconst schema = computed<SchemaObject | null>(() =>\n 'schema' in parameter && parameter.schema\n ? getResolvedRef(parameter.schema)\n : null,\n)\n\n/** Response and params may both have content */\nconst content = computed(() => {\n if (!('content' in parameter) || !parameter.content) {\n return null\n }\n const keys = Object.keys(parameter.content)\n if (keys.length === 0) {\n return null\n }\n return parameter.content\n})\n\nconst selectedContentType = ref<string>(\n Object.keys(content.value || {})[0] ?? '',\n)\n\n/** Response headers */\nconst headers = computed<ResponseObject['headers'] | null>(() =>\n 'headers' in parameter && parameter.headers ? parameter.headers : null,\n)\n\n/** Raw schema (possibly with $ref) for the selected content type or param. */\nconst baseSchema = computed(() =>\n content.value\n ? content.value?.[selectedContentType.value]?.schema\n : 'schema' in parameter && parameter.schema\n ? parameter.schema\n : null,\n)\n\n/** When the schema is a $ref, preserve its name so the UI can show the ref name instead of just the type. */\nconst schemaModelName = computed(() => {\n const raw = baseSchema.value\n if (!raw) {\n return null\n }\n\n if ('$ref' in raw) {\n return getRefName(raw.$ref)\n }\n\n return null\n})\n\n/** Computed value from the combined schema param and content param */\nconst value = computed(() => {\n const base = baseSchema.value\n const resolvedBase = content.value ? getResolvedRef(base) : schema.value\n\n const deprecated =\n 'deprecated' in parameter ? parameter.deprecated : schema.value?.deprecated\n\n /** Combine param/content/schema examples while ignoring undefined values. */\n const examples = getParameterExamples({\n parameter,\n schemaExamples: schema.value?.examples,\n contentExamples: content.value?.[selectedContentType.value]?.examples,\n })\n\n return {\n ...resolvedBase,\n deprecated: deprecated,\n examples,\n } as SchemaObject\n})\n\n/**\n * Determines whether this parameter item should be rendered as a collapsible disclosure.\n * Only collapses when collapsableItems is enabled and the parameter has additional\n * content to display (content types, headers, or schema details).\n */\nconst shouldCollapse = computed<boolean>(() =>\n Boolean(content.value || headers.value || schema.value || truncated.value),\n)\n</script>\n<template>\n <li class=\"parameter-item group/parameter-item\">\n <Disclosure v-slot=\"{ open }\">\n <component\n :is=\"shouldCollapse ? DisclosureButton : 'div'\"\n v-if=\"collapsableItems\"\n class=\"parameter-item-trigger\"\n :class=\"{ 'parameter-item-trigger-open': open }\">\n <div class=\"parameter-item-name min-w-0\">\n <ScalarIconCaretRight\n v-if=\"shouldCollapse\"\n class=\"parameter-item-icon size-3 transition-transform duration-100\"\n :class=\"{ 'rotate-90': open }\"\n weight=\"bold\" />\n <div>\n <ScalarWrappingText\n preset=\"property\"\n :text=\"name\" />\n </div>\n </div>\n <ScalarMarkdownSummary\n v-if=\"!open && parameter.description\"\n v-model:truncated=\"truncated\"\n class=\"parameter-item-description-summary min-w-0 flex-1\"\n controlled\n :value=\"parameter.description\" />\n <div\n v-else\n class=\"flex-1\" />\n </component>\n <div\n v-if=\"shouldCollapse && content\"\n class=\"absolute top-[calc(10px+0.5lh)] right-0 z-0 flex -translate-y-1/2 items-center text-base\"\n :class=\"{\n 'opacity-0 group-focus-within/parameter-item:opacity-100 group-hover/parameter-item:opacity-100':\n !open,\n }\">\n <div\n class=\"from-b-1 absolute inset-y-0 -left-6 -z-1 w-8 bg-linear-to-l from-40% to-transparent\" />\n <ContentTypeSelect\n v-model=\"selectedContentType\"\n :content=\"content\" />\n </div>\n <DisclosurePanel\n class=\"parameter-item-container parameter-item-container-markdown\"\n :static=\"!collapsableItems\">\n <ScalarMarkdown\n v-if=\"collapsableItems && parameter.description\"\n class=\"parameter-item-description\"\n :value=\"parameter.description\" />\n <!-- Headers -->\n <Headers\n v-if=\"headers\"\n :breadcrumb=\"breadcrumb\"\n :eventBus=\"eventBus\"\n :headers=\"headers\"\n :orderRequiredPropertiesFirst=\"options.orderRequiredPropertiesFirst\"\n :orderSchemaPropertiesBy=\"options.orderSchemaPropertiesBy\" />\n\n <!-- Schema -->\n <SchemaProperty\n is=\"div\"\n :breadcrumb=\"breadcrumb\"\n compact\n :description=\"collapsableItems ? '' : parameter.description\"\n :eventBus=\"eventBus\"\n :hideWriteOnly=\"true\"\n :modelName=\"schemaModelName\"\n :name=\"collapsableItems ? '' : name\"\n :noncollapsible=\"true\"\n :options=\"{\n hideWriteOnly: true,\n orderRequiredPropertiesFirst: options.orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: options.orderSchemaPropertiesBy,\n }\"\n :required=\"'required' in parameter && parameter.required\"\n :schema=\"value\" />\n </DisclosurePanel>\n </Disclosure>\n </li>\n</template>\n\n<style scoped>\n.parameter-item {\n display: flex;\n flex-direction: column;\n position: relative;\n border-top: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.parameter-item:last-of-type .parameter-schema {\n padding-bottom: 0;\n}\n\n.parameter-item-container {\n padding: 0;\n}\n\n.parameter-item-headers {\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.parameter-item-name {\n position: relative;\n font-weight: var(--scalar-bold);\n font-size: var(--scalar-font-size-4);\n font-family: var(--scalar-font-code);\n color: var(--scalar-color-1);\n overflow-wrap: break-word;\n}\n\n.parameter-item-description,\n.parameter-item-description-summary {\n font-size: var(--scalar-mini);\n color: var(--scalar-color-2);\n}\n\n.parameter-item-description-summary.parameter-item-description-summary > * {\n --markdown-line-height: var(--scalar-line-height-5);\n}\n\n/* Match font size of markdown for property-detail-value since first child within accordian is displayed as if it were in the markdown section */\n.parameter-item-trigger\n ~ .parameter-item-container\n :deep(.property--level-0 > .property-heading .property-detail-value) {\n font-size: var(--scalar-micro);\n}\n\n.parameter-item-required-optional {\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n margin-right: 6px;\n position: relative;\n}\n\n.parameter-item--required {\n text-transform: uppercase;\n font-size: var(--scalar-micro);\n font-weight: var(--scalar-semibold);\n color: var(--scalar-color-orange);\n}\n\n.parameter-item-description {\n margin-top: 6px;\n font-size: var(--scalar-small);\n color: var(--scalar-color-2);\n line-height: 1.4;\n}\n\n.parameter-item-description :deep(p) {\n margin-top: 4px;\n font-size: var(--scalar-small);\n color: var(--scalar-color-2);\n}\n\n.parameter-schema {\n padding-bottom: 9px;\n margin-top: 3px;\n}\n\n.parameter-item-trigger {\n display: flex;\n align-items: baseline;\n line-height: var(--scalar-line-height-5);\n gap: 6px;\n flex-wrap: wrap;\n padding: 10px 0;\n outline: none;\n}\n\n.parameter-item-trigger-open {\n padding-bottom: 0;\n}\n\n.parameter-item-icon {\n color: var(--scalar-color-3);\n left: -19px;\n top: 0.5lh;\n translate: 0 -50%;\n position: absolute;\n}\n\n.parameter-item-trigger:hover .parameter-item-icon,\n.parameter-item-trigger:focus-visible .parameter-item-icon {\n color: var(--scalar-color-1);\n}\n\n.parameter-item-trigger:focus-visible .parameter-item-icon {\n outline: 1px solid var(--scalar-color-accent);\n outline-offset: 2px;\n border-radius: var(--scalar-radius);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCA,MAAM,YAAY,IAAI,MAAK;;EAG3B,MAAM,SAAS,eACb,YAAY,QAAA,aAAa,QAAA,UAAU,SAC/B,eAAe,QAAA,UAAU,OAAM,GAC/B,KACN;;EAGA,MAAM,UAAU,eAAe;AAC7B,OAAI,EAAE,aAAa,QAAA,cAAc,CAAC,QAAA,UAAU,QAC1C,QAAO;AAGT,OADa,OAAO,KAAK,QAAA,UAAU,QAAO,CACjC,WAAW,EAClB,QAAO;AAET,UAAO,QAAA,UAAU;IAClB;EAED,MAAM,sBAAsB,IAC1B,OAAO,KAAK,QAAQ,SAAS,EAAE,CAAC,CAAC,MAAM,GACzC;;EAGA,MAAM,UAAU,eACd,aAAa,QAAA,aAAa,QAAA,UAAU,UAAU,QAAA,UAAU,UAAU,KACpE;;EAGA,MAAM,aAAa,eACjB,QAAQ,QACJ,QAAQ,QAAQ,oBAAoB,QAAQ,SAC5C,YAAY,QAAA,aAAa,QAAA,UAAU,SACjC,QAAA,UAAU,SACV,KACR;;EAGA,MAAM,kBAAkB,eAAe;GACrC,MAAM,MAAM,WAAW;AACvB,OAAI,CAAC,IACH,QAAO;AAGT,OAAI,UAAU,IACZ,QAAO,WAAW,IAAI,KAAI;AAG5B,UAAO;IACR;;EAGD,MAAM,QAAQ,eAAe;GAC3B,MAAM,OAAO,WAAW;GACxB,MAAM,eAAe,QAAQ,QAAQ,eAAe,KAAK,GAAG,OAAO;GAEnE,MAAM,aACJ,gBAAgB,QAAA,YAAY,QAAA,UAAU,aAAa,OAAO,OAAO;;GAGnE,MAAM,WAAW,qBAAqB;IACpC,WAAQ,QAAA;IACR,gBAAgB,OAAO,OAAO;IAC9B,iBAAiB,QAAQ,QAAQ,oBAAoB,QAAQ;IAC9D,CAAA;AAED,UAAO;IACL,GAAG;IACS;IACZ;IACD;IACF;;;;;;EAOD,MAAM,iBAAiB,eACrB,QAAQ,QAAQ,SAAS,QAAQ,SAAS,OAAO,SAAS,UAAU,MAAM,CAC5E;;uBAGE,mBA8EK,MA9EL,YA8EK,CA7EH,YA4Ea,MAAA,WAAA,EAAA,MAAA;sBAjDC,EA3BQ,WAAI;KAGhB,QAAA,oBAAA,WAAA,EAFR,YA0BY,wBAzBL,eAAA,QAAiB,MAAA,iBAAgB,GAAA,MAAA,EAAA;;MAEtC,OAAK,eAAA,CAAC,0BAAwB,EAAA,+BACW,MAAI,CAAA,CAAA;;6BAYvC,CAXN,mBAWM,OAXN,YAWM,CATI,eAAA,SAAA,WAAA,EADR,YAIkB,MAAA,qBAAA,EAAA;;OAFhB,OAAK,eAAA,CAAC,gEAA8D,EAAA,aAC7C,MAAI,CAAA,CAAA;OAC3B,QAAO;8DACT,mBAIM,OAAA,MAAA,CAHJ,YAEiB,MAAA,mBAAA,EAAA;OADf,QAAO;OACN,MAAM,QAAA;kCAIJ,QAAQ,QAAA,UAAU,eAAA,WAAA,EAD3B,YAKmC,MAAA,sBAAA,EAAA;;OAHzB,WAAW,UAAA;6EAAS,QAAA;OAC5B,OAAM;OACN,YAAA;OACC,OAAO,QAAA,UAAU;2DACpB,mBAEmB,OAFnB,WAEmB,EAAA,CAAA;;;KAGb,eAAA,SAAkB,QAAA,SAAA,WAAA,EAD1B,mBAYM,OAAA;;MAVJ,OAAK,eAAA,CAAC,4FAA0F,EAAA,kGAAA,CACmC,MAAA,CAAA,CAAA;mCAInI,mBACgG,OAAA,EAA9F,OAAM,uFAAqF,EAAA,MAAA,GAAA,GAC7F,YAEuB,2BAAA;kBADZ,oBAAA;uFAAmB,QAAA;MAC3B,SAAS,QAAA;;KAEd,YAkCkB,MAAA,gBAAA,EAAA;MAjChB,OAAM;MACL,QAAM,CAAG,QAAA;;6BAIyB;OAF3B,QAAA,oBAAoB,QAAA,UAAU,eAAA,WAAA,EADtC,YAGmC,MAAA,eAAA,EAAA;;QADjC,OAAM;QACL,OAAO,QAAA,UAAU;;OAGZ,QAAA,SAAA,WAAA,EADR,YAM+D,iBAAA;;QAJ5D,YAAY,QAAA;QACZ,UAAU,QAAA;QACV,SAAS,QAAA;QACT,8BAA8B,QAAA,QAAQ;QACtC,yBAAyB,QAAA,QAAQ;;;;;;;;OAGpC,YAgBoB,wBAAA;QAflB,IAAG;QACF,YAAY,QAAA;QACb,SAAA;QACC,aAAa,QAAA,mBAAgB,KAAQ,QAAA,UAAU;QAC/C,UAAU,QAAA;QACV,eAAe;QACf,WAAW,gBAAA;QACX,MAAM,QAAA,mBAAgB,KAAQ,QAAA;QAC9B,gBAAgB;QAChB,SAAO;;uCAA+E,QAAA,QAAQ;kCAAmE,QAAA,QAAQ;;QAKzK,UAAQ,cAAgB,QAAA,aAAa,QAAA,UAAU;QAC/C,QAAQ,MAAA"}
|
|
1
|
+
{"version":3,"file":"ParameterListItem.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/ParameterListItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport {\n ScalarMarkdown,\n ScalarMarkdownSummary,\n} from '@scalar/components/markdown'\nimport { ScalarWrappingText } from '@scalar/components/wrapping-text'\nimport { ScalarIconCaretRight } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n ParameterObject,\n ResponseObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref } from 'vue'\n\nimport { getRefName } from '@/components/Content/Schema/helpers/get-ref-name'\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nimport ContentTypeSelect from './ContentTypeSelect.vue'\nimport Headers from './Headers.vue'\nimport { getParameterExamples } from './helpers/get-parameter-examples'\n\nconst { name, parameter, options, collapsableItems } = defineProps<{\n parameter: ParameterObject | ResponseObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n collapsableItems?: boolean\n options: Pick<\n OperationProps['options'],\n 'hideModels' | 'orderRequiredPropertiesFirst' | 'orderSchemaPropertiesBy'\n >\n}>()\n\n/** Whether the markdown summary is being truncated */\nconst truncated = ref(false)\n\n/** Responses and params may both have a schema */\nconst schema = computed<SchemaObject | null>(() =>\n 'schema' in parameter && parameter.schema\n ? getResolvedRef(parameter.schema)\n : null,\n)\n\n/** Response and params may both have content */\nconst content = computed(() => {\n if (!('content' in parameter) || !parameter.content) {\n return null\n }\n const keys = Object.keys(parameter.content)\n if (keys.length === 0) {\n return null\n }\n return parameter.content\n})\n\nconst selectedContentType = ref<string>(\n Object.keys(content.value || {})[0] ?? '',\n)\n\n/** Response headers */\nconst headers = computed<ResponseObject['headers'] | null>(() =>\n 'headers' in parameter && parameter.headers ? parameter.headers : null,\n)\n\n/** Raw schema (possibly with $ref) for the selected content type or param. */\nconst baseSchema = computed(() =>\n content.value\n ? content.value?.[selectedContentType.value]?.schema\n : 'schema' in parameter && parameter.schema\n ? parameter.schema\n : null,\n)\n\n/** When the schema is a $ref, preserve its name so the UI can show the ref name instead of just the type. */\nconst schemaModelName = computed(() => {\n const raw = baseSchema.value\n if (!raw) {\n return null\n }\n\n if ('$ref' in raw) {\n return getRefName(raw.$ref)\n }\n\n return null\n})\n\n/** Computed value from the combined schema param and content param */\nconst value = computed(() => {\n const base = baseSchema.value\n const resolvedBase = content.value ? getResolvedRef(base) : schema.value\n\n const deprecated =\n 'deprecated' in parameter ? parameter.deprecated : schema.value?.deprecated\n\n /** Combine param/content/schema examples while ignoring undefined values. */\n const examples = getParameterExamples({\n parameter,\n schemaExamples: schema.value?.examples,\n contentExamples: content.value?.[selectedContentType.value]?.examples,\n })\n\n return {\n ...resolvedBase,\n deprecated: deprecated,\n examples,\n } as SchemaObject\n})\n\n/**\n * Determines whether this parameter item should be rendered as a collapsible disclosure.\n * Only collapses when collapsableItems is enabled and the parameter has additional\n * content to display (content types, headers, or schema details).\n */\nconst shouldCollapse = computed<boolean>(() =>\n Boolean(content.value || headers.value || schema.value || truncated.value),\n)\n</script>\n<template>\n <li class=\"parameter-item group/parameter-item\">\n <Disclosure v-slot=\"{ open }\">\n <component\n :is=\"shouldCollapse ? DisclosureButton : 'div'\"\n v-if=\"collapsableItems\"\n class=\"parameter-item-trigger\"\n :class=\"{ 'parameter-item-trigger-open': open }\">\n <div class=\"parameter-item-name min-w-0\">\n <ScalarIconCaretRight\n v-if=\"shouldCollapse\"\n class=\"parameter-item-icon size-3 transition-transform duration-100\"\n :class=\"{ 'rotate-90': open }\"\n weight=\"bold\" />\n <div>\n <ScalarWrappingText\n preset=\"property\"\n :text=\"name\" />\n </div>\n </div>\n <ScalarMarkdownSummary\n v-if=\"!open && parameter.description\"\n v-model:truncated=\"truncated\"\n class=\"parameter-item-description-summary min-w-0 flex-1\"\n controlled\n :value=\"parameter.description\" />\n <div\n v-else\n class=\"flex-1\" />\n </component>\n <DisclosurePanel\n class=\"parameter-item-container parameter-item-container-markdown\"\n :static=\"!collapsableItems\">\n <ScalarMarkdown\n v-if=\"collapsableItems && parameter.description\"\n class=\"parameter-item-description\"\n :value=\"parameter.description\" />\n <!-- Headers -->\n <Headers\n v-if=\"headers\"\n :breadcrumb=\"breadcrumb\"\n :eventBus=\"eventBus\"\n :headers=\"headers\"\n :orderRequiredPropertiesFirst=\"options.orderRequiredPropertiesFirst\"\n :orderSchemaPropertiesBy=\"options.orderSchemaPropertiesBy\" />\n\n <!-- Schema -->\n <SchemaProperty\n is=\"div\"\n :breadcrumb=\"breadcrumb\"\n compact\n :description=\"collapsableItems ? '' : parameter.description\"\n :eventBus=\"eventBus\"\n :hideWriteOnly=\"true\"\n :modelName=\"schemaModelName\"\n :name=\"collapsableItems ? '' : name\"\n :noncollapsible=\"true\"\n :options=\"{\n hideWriteOnly: true,\n orderRequiredPropertiesFirst: options.orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: options.orderSchemaPropertiesBy,\n }\"\n :required=\"'required' in parameter && parameter.required\"\n :schema=\"value\" />\n </DisclosurePanel>\n <div\n v-if=\"shouldCollapse && content\"\n class=\"absolute top-[calc(10px+0.5lh)] right-0 z-0 flex -translate-y-1/2 items-center text-base\"\n :class=\"{\n 'opacity-0 group-focus-within/parameter-item:opacity-100 group-hover/parameter-item:opacity-100':\n !open,\n }\">\n <div\n class=\"from-b-1 absolute inset-y-0 -left-6 -z-1 w-8 bg-linear-to-l from-40% to-transparent\" />\n <ContentTypeSelect\n v-model=\"selectedContentType\"\n :content=\"content\" />\n </div>\n </Disclosure>\n </li>\n</template>\n\n<style scoped>\n.parameter-item {\n display: flex;\n flex-direction: column;\n position: relative;\n border-top: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.parameter-item:last-of-type .parameter-schema {\n padding-bottom: 0;\n}\n\n.parameter-item-container {\n padding: 0;\n}\n\n.parameter-item-headers {\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.parameter-item-name {\n position: relative;\n font-weight: var(--scalar-bold);\n font-size: var(--scalar-font-size-4);\n font-family: var(--scalar-font-code);\n color: var(--scalar-color-1);\n overflow-wrap: break-word;\n}\n\n.parameter-item-description,\n.parameter-item-description-summary {\n font-size: var(--scalar-mini);\n color: var(--scalar-color-2);\n}\n\n.parameter-item-description-summary.parameter-item-description-summary > * {\n --markdown-line-height: var(--scalar-line-height-5);\n}\n\n/* Match font size of markdown for property-detail-value since first child within accordian is displayed as if it were in the markdown section */\n.parameter-item-trigger\n ~ .parameter-item-container\n :deep(.property--level-0 > .property-heading .property-detail-value) {\n font-size: var(--scalar-micro);\n}\n\n.parameter-item-required-optional {\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n margin-right: 6px;\n position: relative;\n}\n\n.parameter-item--required {\n text-transform: uppercase;\n font-size: var(--scalar-micro);\n font-weight: var(--scalar-semibold);\n color: var(--scalar-color-orange);\n}\n\n.parameter-item-description {\n margin-top: 6px;\n font-size: var(--scalar-small);\n color: var(--scalar-color-2);\n line-height: 1.4;\n}\n\n.parameter-item-description :deep(p) {\n margin-top: 4px;\n font-size: var(--scalar-small);\n color: var(--scalar-color-2);\n}\n\n.parameter-schema {\n padding-bottom: 9px;\n margin-top: 3px;\n}\n\n.parameter-item-trigger {\n display: flex;\n align-items: baseline;\n line-height: var(--scalar-line-height-5);\n gap: 6px;\n flex-wrap: wrap;\n padding: 10px 0;\n outline: none;\n}\n\n.parameter-item-trigger-open {\n padding-bottom: 0;\n}\n\n.parameter-item-icon {\n color: var(--scalar-color-3);\n left: -19px;\n top: 0.5lh;\n translate: 0 -50%;\n position: absolute;\n}\n\n.parameter-item-trigger:hover .parameter-item-icon,\n.parameter-item-trigger:focus-visible .parameter-item-icon {\n color: var(--scalar-color-1);\n}\n\n.parameter-item-trigger:focus-visible .parameter-item-icon {\n outline: 1px solid var(--scalar-color-accent);\n outline-offset: 2px;\n border-radius: var(--scalar-radius);\n}\n</style>\n"],"mappings":"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"}
|
package/dist/style.css
CHANGED
|
@@ -10373,22 +10373,22 @@ button.headers-card-title[data-v-c4fe6aa2]:hover {
|
|
|
10373
10373
|
transform: rotate(45deg);
|
|
10374
10374
|
}
|
|
10375
10375
|
|
|
10376
|
-
.parameter-item[data-v-
|
|
10376
|
+
.parameter-item[data-v-ca54f4ef] {
|
|
10377
10377
|
display: flex;
|
|
10378
10378
|
flex-direction: column;
|
|
10379
10379
|
position: relative;
|
|
10380
10380
|
border-top: var(--scalar-border-width) solid var(--scalar-border-color);
|
|
10381
10381
|
}
|
|
10382
|
-
.parameter-item:last-of-type .parameter-schema[data-v-
|
|
10382
|
+
.parameter-item:last-of-type .parameter-schema[data-v-ca54f4ef] {
|
|
10383
10383
|
padding-bottom: 0;
|
|
10384
10384
|
}
|
|
10385
|
-
.parameter-item-container[data-v-
|
|
10385
|
+
.parameter-item-container[data-v-ca54f4ef] {
|
|
10386
10386
|
padding: 0;
|
|
10387
10387
|
}
|
|
10388
|
-
.parameter-item-headers[data-v-
|
|
10388
|
+
.parameter-item-headers[data-v-ca54f4ef] {
|
|
10389
10389
|
border: var(--scalar-border-width) solid var(--scalar-border-color);
|
|
10390
10390
|
}
|
|
10391
|
-
.parameter-item-name[data-v-
|
|
10391
|
+
.parameter-item-name[data-v-ca54f4ef] {
|
|
10392
10392
|
position: relative;
|
|
10393
10393
|
font-weight: var(--scalar-bold);
|
|
10394
10394
|
font-size: var(--scalar-font-size-4);
|
|
@@ -10396,49 +10396,49 @@ button.headers-card-title[data-v-c4fe6aa2]:hover {
|
|
|
10396
10396
|
color: var(--scalar-color-1);
|
|
10397
10397
|
overflow-wrap: break-word;
|
|
10398
10398
|
}
|
|
10399
|
-
.parameter-item-description[data-v-
|
|
10400
|
-
.parameter-item-description-summary[data-v-
|
|
10399
|
+
.parameter-item-description[data-v-ca54f4ef],
|
|
10400
|
+
.parameter-item-description-summary[data-v-ca54f4ef] {
|
|
10401
10401
|
font-size: var(--scalar-mini);
|
|
10402
10402
|
color: var(--scalar-color-2);
|
|
10403
10403
|
}
|
|
10404
|
-
.parameter-item-description-summary.parameter-item-description-summary[data-v-
|
|
10404
|
+
.parameter-item-description-summary.parameter-item-description-summary[data-v-ca54f4ef] > * {
|
|
10405
10405
|
--markdown-line-height: var(--scalar-line-height-5);
|
|
10406
10406
|
}
|
|
10407
10407
|
|
|
10408
10408
|
/* Match font size of markdown for property-detail-value since first child within accordian is displayed as if it were in the markdown section */
|
|
10409
10409
|
.parameter-item-trigger
|
|
10410
|
-
~ .parameter-item-container[data-v-
|
|
10410
|
+
~ .parameter-item-container[data-v-ca54f4ef]
|
|
10411
10411
|
.property--level-0 > .property-heading .property-detail-value {
|
|
10412
10412
|
font-size: var(--scalar-micro);
|
|
10413
10413
|
}
|
|
10414
|
-
.parameter-item-required-optional[data-v-
|
|
10414
|
+
.parameter-item-required-optional[data-v-ca54f4ef] {
|
|
10415
10415
|
color: var(--scalar-color-2);
|
|
10416
10416
|
font-weight: var(--scalar-semibold);
|
|
10417
10417
|
margin-right: 6px;
|
|
10418
10418
|
position: relative;
|
|
10419
10419
|
}
|
|
10420
|
-
.parameter-item--required[data-v-
|
|
10420
|
+
.parameter-item--required[data-v-ca54f4ef] {
|
|
10421
10421
|
text-transform: uppercase;
|
|
10422
10422
|
font-size: var(--scalar-micro);
|
|
10423
10423
|
font-weight: var(--scalar-semibold);
|
|
10424
10424
|
color: var(--scalar-color-orange);
|
|
10425
10425
|
}
|
|
10426
|
-
.parameter-item-description[data-v-
|
|
10426
|
+
.parameter-item-description[data-v-ca54f4ef] {
|
|
10427
10427
|
margin-top: 6px;
|
|
10428
10428
|
font-size: var(--scalar-small);
|
|
10429
10429
|
color: var(--scalar-color-2);
|
|
10430
10430
|
line-height: 1.4;
|
|
10431
10431
|
}
|
|
10432
|
-
.parameter-item-description[data-v-
|
|
10432
|
+
.parameter-item-description[data-v-ca54f4ef] p {
|
|
10433
10433
|
margin-top: 4px;
|
|
10434
10434
|
font-size: var(--scalar-small);
|
|
10435
10435
|
color: var(--scalar-color-2);
|
|
10436
10436
|
}
|
|
10437
|
-
.parameter-schema[data-v-
|
|
10437
|
+
.parameter-schema[data-v-ca54f4ef] {
|
|
10438
10438
|
padding-bottom: 9px;
|
|
10439
10439
|
margin-top: 3px;
|
|
10440
10440
|
}
|
|
10441
|
-
.parameter-item-trigger[data-v-
|
|
10441
|
+
.parameter-item-trigger[data-v-ca54f4ef] {
|
|
10442
10442
|
display: flex;
|
|
10443
10443
|
align-items: baseline;
|
|
10444
10444
|
line-height: var(--scalar-line-height-5);
|
|
@@ -10447,21 +10447,21 @@ button.headers-card-title[data-v-c4fe6aa2]:hover {
|
|
|
10447
10447
|
padding: 10px 0;
|
|
10448
10448
|
outline: none;
|
|
10449
10449
|
}
|
|
10450
|
-
.parameter-item-trigger-open[data-v-
|
|
10450
|
+
.parameter-item-trigger-open[data-v-ca54f4ef] {
|
|
10451
10451
|
padding-bottom: 0;
|
|
10452
10452
|
}
|
|
10453
|
-
.parameter-item-icon[data-v-
|
|
10453
|
+
.parameter-item-icon[data-v-ca54f4ef] {
|
|
10454
10454
|
color: var(--scalar-color-3);
|
|
10455
10455
|
left: -19px;
|
|
10456
10456
|
top: 0.5lh;
|
|
10457
10457
|
translate: 0 -50%;
|
|
10458
10458
|
position: absolute;
|
|
10459
10459
|
}
|
|
10460
|
-
.parameter-item-trigger:hover .parameter-item-icon[data-v-
|
|
10461
|
-
.parameter-item-trigger:focus-visible .parameter-item-icon[data-v-
|
|
10460
|
+
.parameter-item-trigger:hover .parameter-item-icon[data-v-ca54f4ef],
|
|
10461
|
+
.parameter-item-trigger:focus-visible .parameter-item-icon[data-v-ca54f4ef] {
|
|
10462
10462
|
color: var(--scalar-color-1);
|
|
10463
10463
|
}
|
|
10464
|
-
.parameter-item-trigger:focus-visible .parameter-item-icon[data-v-
|
|
10464
|
+
.parameter-item-trigger:focus-visible .parameter-item-icon[data-v-ca54f4ef] {
|
|
10465
10465
|
outline: 1px solid var(--scalar-color-accent);
|
|
10466
10466
|
outline-offset: 2px;
|
|
10467
10467
|
border-radius: var(--scalar-radius);
|
package/dist/vue-styles.css
CHANGED
|
@@ -1577,22 +1577,22 @@ button.headers-card-title[data-v-c4fe6aa2]:hover {
|
|
|
1577
1577
|
transform: rotate(45deg);
|
|
1578
1578
|
}
|
|
1579
1579
|
|
|
1580
|
-
.parameter-item[data-v-
|
|
1580
|
+
.parameter-item[data-v-ca54f4ef] {
|
|
1581
1581
|
display: flex;
|
|
1582
1582
|
flex-direction: column;
|
|
1583
1583
|
position: relative;
|
|
1584
1584
|
border-top: var(--scalar-border-width) solid var(--scalar-border-color);
|
|
1585
1585
|
}
|
|
1586
|
-
.parameter-item:last-of-type .parameter-schema[data-v-
|
|
1586
|
+
.parameter-item:last-of-type .parameter-schema[data-v-ca54f4ef] {
|
|
1587
1587
|
padding-bottom: 0;
|
|
1588
1588
|
}
|
|
1589
|
-
.parameter-item-container[data-v-
|
|
1589
|
+
.parameter-item-container[data-v-ca54f4ef] {
|
|
1590
1590
|
padding: 0;
|
|
1591
1591
|
}
|
|
1592
|
-
.parameter-item-headers[data-v-
|
|
1592
|
+
.parameter-item-headers[data-v-ca54f4ef] {
|
|
1593
1593
|
border: var(--scalar-border-width) solid var(--scalar-border-color);
|
|
1594
1594
|
}
|
|
1595
|
-
.parameter-item-name[data-v-
|
|
1595
|
+
.parameter-item-name[data-v-ca54f4ef] {
|
|
1596
1596
|
position: relative;
|
|
1597
1597
|
font-weight: var(--scalar-bold);
|
|
1598
1598
|
font-size: var(--scalar-font-size-4);
|
|
@@ -1600,49 +1600,49 @@ button.headers-card-title[data-v-c4fe6aa2]:hover {
|
|
|
1600
1600
|
color: var(--scalar-color-1);
|
|
1601
1601
|
overflow-wrap: break-word;
|
|
1602
1602
|
}
|
|
1603
|
-
.parameter-item-description[data-v-
|
|
1604
|
-
.parameter-item-description-summary[data-v-
|
|
1603
|
+
.parameter-item-description[data-v-ca54f4ef],
|
|
1604
|
+
.parameter-item-description-summary[data-v-ca54f4ef] {
|
|
1605
1605
|
font-size: var(--scalar-mini);
|
|
1606
1606
|
color: var(--scalar-color-2);
|
|
1607
1607
|
}
|
|
1608
|
-
.parameter-item-description-summary.parameter-item-description-summary[data-v-
|
|
1608
|
+
.parameter-item-description-summary.parameter-item-description-summary[data-v-ca54f4ef] > * {
|
|
1609
1609
|
--markdown-line-height: var(--scalar-line-height-5);
|
|
1610
1610
|
}
|
|
1611
1611
|
|
|
1612
1612
|
/* Match font size of markdown for property-detail-value since first child within accordian is displayed as if it were in the markdown section */
|
|
1613
1613
|
.parameter-item-trigger
|
|
1614
|
-
~ .parameter-item-container[data-v-
|
|
1614
|
+
~ .parameter-item-container[data-v-ca54f4ef]
|
|
1615
1615
|
.property--level-0 > .property-heading .property-detail-value {
|
|
1616
1616
|
font-size: var(--scalar-micro);
|
|
1617
1617
|
}
|
|
1618
|
-
.parameter-item-required-optional[data-v-
|
|
1618
|
+
.parameter-item-required-optional[data-v-ca54f4ef] {
|
|
1619
1619
|
color: var(--scalar-color-2);
|
|
1620
1620
|
font-weight: var(--scalar-semibold);
|
|
1621
1621
|
margin-right: 6px;
|
|
1622
1622
|
position: relative;
|
|
1623
1623
|
}
|
|
1624
|
-
.parameter-item--required[data-v-
|
|
1624
|
+
.parameter-item--required[data-v-ca54f4ef] {
|
|
1625
1625
|
text-transform: uppercase;
|
|
1626
1626
|
font-size: var(--scalar-micro);
|
|
1627
1627
|
font-weight: var(--scalar-semibold);
|
|
1628
1628
|
color: var(--scalar-color-orange);
|
|
1629
1629
|
}
|
|
1630
|
-
.parameter-item-description[data-v-
|
|
1630
|
+
.parameter-item-description[data-v-ca54f4ef] {
|
|
1631
1631
|
margin-top: 6px;
|
|
1632
1632
|
font-size: var(--scalar-small);
|
|
1633
1633
|
color: var(--scalar-color-2);
|
|
1634
1634
|
line-height: 1.4;
|
|
1635
1635
|
}
|
|
1636
|
-
.parameter-item-description[data-v-
|
|
1636
|
+
.parameter-item-description[data-v-ca54f4ef] p {
|
|
1637
1637
|
margin-top: 4px;
|
|
1638
1638
|
font-size: var(--scalar-small);
|
|
1639
1639
|
color: var(--scalar-color-2);
|
|
1640
1640
|
}
|
|
1641
|
-
.parameter-schema[data-v-
|
|
1641
|
+
.parameter-schema[data-v-ca54f4ef] {
|
|
1642
1642
|
padding-bottom: 9px;
|
|
1643
1643
|
margin-top: 3px;
|
|
1644
1644
|
}
|
|
1645
|
-
.parameter-item-trigger[data-v-
|
|
1645
|
+
.parameter-item-trigger[data-v-ca54f4ef] {
|
|
1646
1646
|
display: flex;
|
|
1647
1647
|
align-items: baseline;
|
|
1648
1648
|
line-height: var(--scalar-line-height-5);
|
|
@@ -1651,21 +1651,21 @@ button.headers-card-title[data-v-c4fe6aa2]:hover {
|
|
|
1651
1651
|
padding: 10px 0;
|
|
1652
1652
|
outline: none;
|
|
1653
1653
|
}
|
|
1654
|
-
.parameter-item-trigger-open[data-v-
|
|
1654
|
+
.parameter-item-trigger-open[data-v-ca54f4ef] {
|
|
1655
1655
|
padding-bottom: 0;
|
|
1656
1656
|
}
|
|
1657
|
-
.parameter-item-icon[data-v-
|
|
1657
|
+
.parameter-item-icon[data-v-ca54f4ef] {
|
|
1658
1658
|
color: var(--scalar-color-3);
|
|
1659
1659
|
left: -19px;
|
|
1660
1660
|
top: 0.5lh;
|
|
1661
1661
|
translate: 0 -50%;
|
|
1662
1662
|
position: absolute;
|
|
1663
1663
|
}
|
|
1664
|
-
.parameter-item-trigger:hover .parameter-item-icon[data-v-
|
|
1665
|
-
.parameter-item-trigger:focus-visible .parameter-item-icon[data-v-
|
|
1664
|
+
.parameter-item-trigger:hover .parameter-item-icon[data-v-ca54f4ef],
|
|
1665
|
+
.parameter-item-trigger:focus-visible .parameter-item-icon[data-v-ca54f4ef] {
|
|
1666
1666
|
color: var(--scalar-color-1);
|
|
1667
1667
|
}
|
|
1668
|
-
.parameter-item-trigger:focus-visible .parameter-item-icon[data-v-
|
|
1668
|
+
.parameter-item-trigger:focus-visible .parameter-item-icon[data-v-ca54f4ef] {
|
|
1669
1669
|
outline: 1px solid var(--scalar-color-accent);
|
|
1670
1670
|
outline-offset: 2px;
|
|
1671
1671
|
border-radius: var(--scalar-radius);
|
package/package.json
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"vue",
|
|
21
21
|
"vue3"
|
|
22
22
|
],
|
|
23
|
-
"version": "1.57.
|
|
23
|
+
"version": "1.57.5",
|
|
24
24
|
"engines": {
|
|
25
25
|
"node": ">=22"
|
|
26
26
|
},
|
|
@@ -91,22 +91,22 @@
|
|
|
91
91
|
"nanoid": "^5.1.6",
|
|
92
92
|
"vue": "^3.5.30",
|
|
93
93
|
"yaml": "^2.8.3",
|
|
94
|
-
"@scalar/agent-chat": "0.12.
|
|
95
|
-
"@scalar/api-client": "3.8.
|
|
94
|
+
"@scalar/agent-chat": "0.12.5",
|
|
95
|
+
"@scalar/api-client": "3.8.5",
|
|
96
|
+
"@scalar/code-highlight": "0.3.4",
|
|
97
|
+
"@scalar/helpers": "0.8.0",
|
|
96
98
|
"@scalar/components": "0.26.0",
|
|
97
99
|
"@scalar/icons": "0.7.2",
|
|
98
|
-
"@scalar/
|
|
99
|
-
"@scalar/
|
|
100
|
-
"@scalar/
|
|
101
|
-
"@scalar/
|
|
102
|
-
"@scalar/
|
|
103
|
-
"@scalar/snippetz": "0.9.9",
|
|
104
|
-
"@scalar/types": "0.12.0",
|
|
100
|
+
"@scalar/oas-utils": "0.17.3",
|
|
101
|
+
"@scalar/schemas": "0.3.2",
|
|
102
|
+
"@scalar/sidebar": "0.9.17",
|
|
103
|
+
"@scalar/themes": "0.15.5",
|
|
104
|
+
"@scalar/snippetz": "0.9.11",
|
|
105
105
|
"@scalar/use-hooks": "0.4.6",
|
|
106
|
-
"@scalar/
|
|
107
|
-
"@scalar/workspace-store": "0.51.1",
|
|
106
|
+
"@scalar/types": "0.12.2",
|
|
108
107
|
"@scalar/use-toasts": "0.10.2",
|
|
109
|
-
"@scalar/
|
|
108
|
+
"@scalar/validation": "0.6.0",
|
|
109
|
+
"@scalar/workspace-store": "0.52.0"
|
|
110
110
|
},
|
|
111
111
|
"devDependencies": {
|
|
112
112
|
"@hono/node-server": "^1.19.10",
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
"vite-plugin-banner": "^0.8.1",
|
|
126
126
|
"vite-plugin-css-injected-by-js": "^5.0.0",
|
|
127
127
|
"vitest": "4.1.0",
|
|
128
|
-
"@scalar/core": "0.5.
|
|
128
|
+
"@scalar/core": "0.5.12",
|
|
129
129
|
"@scalar/galaxy": "0.6.4"
|
|
130
130
|
},
|
|
131
131
|
"scripts": {
|