@scalar/api-client 3.21.0 → 3.21.2
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 +59 -0
- package/dist/components/SectionFilter.vue.d.ts +0 -2
- package/dist/components/SectionFilter.vue.d.ts.map +1 -1
- package/dist/components/SectionFilter.vue.js +1 -1
- package/dist/components/SectionFilter.vue.js.map +1 -1
- package/dist/components/SectionFilter.vue.script.js +2 -8
- package/dist/components/SectionFilter.vue.script.js.map +1 -1
- package/dist/components/SectionFilterButton.vue.d.ts +0 -1
- package/dist/components/SectionFilterButton.vue.d.ts.map +1 -1
- package/dist/components/SectionFilterButton.vue.js.map +1 -1
- package/dist/components/SectionFilterButton.vue.script.js +2 -10
- package/dist/components/SectionFilterButton.vue.script.js.map +1 -1
- package/dist/style.css +156 -85
- package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts.map +1 -1
- package/dist/v2/blocks/operation-block/OperationBlock.vue.js.map +1 -1
- package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js +4 -0
- package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js.map +1 -1
- package/dist/v2/blocks/operation-block/components/Header.vue.d.ts.map +1 -1
- package/dist/v2/blocks/operation-block/components/Header.vue.js +1 -1
- package/dist/v2/blocks/operation-block/components/Header.vue.js.map +1 -1
- package/dist/v2/blocks/operation-block/components/Header.vue.script.js +2 -0
- package/dist/v2/blocks/operation-block/components/Header.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts +2 -0
- package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/RequestBlock.vue.js +1 -1
- package/dist/v2/blocks/request-block/RequestBlock.vue.js.map +1 -1
- package/dist/v2/blocks/request-block/RequestBlock.vue.script.js +24 -6
- package/dist/v2/blocks/request-block/RequestBlock.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestBody.vue.d.ts +4 -0
- package/dist/v2/blocks/request-block/components/RequestBody.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestBody.vue.js +1 -1
- package/dist/v2/blocks/request-block/components/RequestBody.vue.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js +8 -5
- package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.d.ts +2 -0
- package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.script.js +12 -4
- package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js +5 -0
- package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTable.vue.js +1 -1
- package/dist/v2/blocks/request-block/components/RequestTable.vue.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTable.vue.script.js +1 -0
- package/dist/v2/blocks/request-block/components/RequestTable.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js +2 -2
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/helpers/get-form-body-rows.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js +5 -3
- package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js.map +1 -1
- package/dist/v2/blocks/response-block/ResponseBlock.vue.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/ResponseBlock.vue.js +1 -1
- package/dist/v2/blocks/response-block/ResponseBlock.vue.js.map +1 -1
- package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js +4 -3
- package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js +23 -43
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts +7 -0
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js +6 -0
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js +5 -5
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.script.js +11 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.js +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.js.map +1 -1
- package/dist/v2/components/code-input/CodeInputLite.vue.d.ts.map +1 -1
- package/dist/v2/components/code-input/CodeInputLite.vue.js +1 -1
- package/dist/v2/components/code-input/CodeInputLite.vue.js.map +1 -1
- package/dist/v2/components/code-input/CodeInputLite.vue.script.js +13 -1
- package/dist/v2/components/code-input/CodeInputLite.vue.script.js.map +1 -1
- package/dist/v2/components/data-table/DataTableInput.vue.d.ts.map +1 -1
- package/dist/v2/components/data-table/DataTableInput.vue.js +1 -1
- package/dist/v2/components/data-table/DataTableInput.vue.js.map +1 -1
- package/dist/v2/components/data-table/DataTableInput.vue.script.js +7 -2
- package/dist/v2/components/data-table/DataTableInput.vue.script.js.map +1 -1
- package/dist/v2/components/layout/CollapsibleSection.vue.d.ts +20 -0
- package/dist/v2/components/layout/CollapsibleSection.vue.d.ts.map +1 -1
- package/dist/v2/components/layout/CollapsibleSection.vue.js.map +1 -1
- package/dist/v2/components/layout/CollapsibleSection.vue.script.js +36 -16
- package/dist/v2/components/layout/CollapsibleSection.vue.script.js.map +1 -1
- package/dist/v2/components/layout/collapsible-section-heading-level.d.ts +13 -0
- package/dist/v2/components/layout/collapsible-section-heading-level.d.ts.map +1 -0
- package/dist/v2/components/layout/collapsible-section-heading-level.js +14 -0
- package/dist/v2/components/layout/collapsible-section-heading-level.js.map +1 -0
- package/dist/v2/components/layout/index.d.ts +1 -0
- package/dist/v2/components/layout/index.d.ts.map +1 -1
- package/dist/v2/components/layout/index.js +2 -1
- package/dist/v2/components/modals/ModalClientContainer.vue.d.ts.map +1 -1
- package/dist/v2/components/modals/ModalClientContainer.vue.js +1 -1
- package/dist/v2/components/modals/ModalClientContainer.vue.js.map +1 -1
- package/dist/v2/components/modals/ModalClientContainer.vue.script.js +10 -1
- package/dist/v2/components/modals/ModalClientContainer.vue.script.js.map +1 -1
- package/dist/v2/components/sidebar/SidebarToggle.vue.d.ts +15 -2
- package/dist/v2/components/sidebar/SidebarToggle.vue.d.ts.map +1 -1
- package/dist/v2/components/sidebar/SidebarToggle.vue.js +3 -1
- package/dist/v2/components/sidebar/SidebarToggle.vue.js.map +1 -1
- package/dist/v2/components/sidebar/SidebarToggle.vue.script.js +5 -5
- package/dist/v2/components/sidebar/SidebarToggle.vue.script.js.map +1 -1
- package/dist/v2/constants.js +1 -1
- package/dist/v2/features/modal/Modal.vue.d.ts.map +1 -1
- package/dist/v2/features/modal/Modal.vue.js.map +1 -1
- package/dist/v2/features/modal/Modal.vue.script.js +2 -1
- package/dist/v2/features/modal/Modal.vue.script.js.map +1 -1
- package/dist/vue-styles.css +118 -77
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarToggle.vue.script.js","names":[],"sources":["../../../../src/v2/components/sidebar/SidebarToggle.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLocalization } from '@/v2/features/localization'\n\nconst { translate } = useLocalization()\n\nconst isSidebarOpen = defineModel<boolean>({\n required: true,\n})\n</script>\n<template>\n <button\n :aria-pressed=\"isSidebarOpen\"\n class=\"scalar-sidebar-toggle text-c-3 hover:bg-b-2 active:text-c-1 rounded p-2\"\n type=\"button\"\n @click=\"isSidebarOpen = !isSidebarOpen\">\n <span class=\"sr-only\">{{\n isSidebarOpen\n ? translate('apiClient.sidebarToggle.hide')\n : translate('apiClient.sidebarToggle.show')\n }}</span>\n <svg\n class=\"size-4\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <defs>\n <clipPath id=\"mask\">\n <path\n clip-rule=\"evenodd\"\n d=\"M9 3.2H4c-1.7 0-3 1.3-3 3v11.5c0 1.7 1.3 3 3 3h5V3.2z\" />\n </clipPath>\n </defs>\n <g clip-path=\"url(#mask)\">\n <path\n class=\"transition-transform duration-300\"\n :class=\"isSidebarOpen ? 'translate-x-0' : '-translate-x-1/2'\"\n d=\"M1 3.2h8v17.5H1z\"\n fill=\"currentColor\" />\n </g>\n <path\n d=\"M20 20.8H4c-1.7 0-3-1.3-3-3V6.2c0-1.7 1.3-3 3-3h16c1.7 0 3 1.3 3 3v11.5c0 1.7-1.3 3-3 3zM9 3.2v17.5\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\" />\n </svg>\n </button>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SidebarToggle.vue.script.js","names":[],"sources":["../../../../src/v2/components/sidebar/SidebarToggle.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLocalization } from '@/v2/features/localization'\n\nconst { variant = 'default' } = defineProps<{\n /**\n * How the toggle is drawn.\n *\n * `default` is a flat button that sits inside a panel. `overlay` is the\n * modal's treatment: the same flat button while the panel header has room\n * for it, and a circular control on the dimmed backdrop once the viewport is\n * narrow enough that the sidebar covers the panel, where it mirrors the\n * close button in the opposite corner.\n */\n variant?: 'default' | 'overlay'\n}>()\n\nconst { translate } = useLocalization()\n\nconst isSidebarOpen = defineModel<boolean>({\n required: true,\n})\n</script>\n<template>\n <button\n :aria-pressed=\"isSidebarOpen\"\n class=\"scalar-sidebar-toggle\"\n :class=\"\n variant === 'overlay'\n ? 'scalar-sidebar-toggle--overlay'\n : 'text-c-3 hover:bg-b-2 active:text-c-1 rounded p-2'\n \"\n type=\"button\"\n @click=\"isSidebarOpen = !isSidebarOpen\">\n <span class=\"sr-only\">{{\n isSidebarOpen\n ? translate('apiClient.sidebarToggle.hide')\n : translate('apiClient.sidebarToggle.show')\n }}</span>\n <svg\n class=\"size-4\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <defs>\n <clipPath id=\"mask\">\n <path\n clip-rule=\"evenodd\"\n d=\"M9 3.2H4c-1.7 0-3 1.3-3 3v11.5c0 1.7 1.3 3 3 3h5V3.2z\" />\n </clipPath>\n </defs>\n <g clip-path=\"url(#mask)\">\n <path\n class=\"transition-transform duration-300\"\n :class=\"isSidebarOpen ? 'translate-x-0' : '-translate-x-1/2'\"\n d=\"M1 3.2h8v17.5H1z\"\n fill=\"currentColor\" />\n </g>\n <path\n d=\"M20 20.8H4c-1.7 0-3-1.3-3-3V6.2c0-1.7 1.3-3 3-3h16c1.7 0 3 1.3 3 3v11.5c0 1.7-1.3 3-3 3zM9 3.2v17.5\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\" />\n </svg>\n </button>\n</template>\n\n<style scoped>\n/**\n * The wide state is the default variant written out in plain CSS. Spelling it\n * out here rather than reusing the utility classes keeps the narrow state below\n * from having to outrank a utility of the same specificity.\n */\n.scalar-sidebar-toggle--overlay {\n color: var(--scalar-color-3);\n border-radius: var(--scalar-radius-md);\n padding: 8px;\n}\n.scalar-sidebar-toggle--overlay:hover {\n background: var(--scalar-background-2);\n}\n.scalar-sidebar-toggle--overlay:active {\n color: var(--scalar-color-1);\n}\n\n/**\n * Below the `lg` breakpoint (1000px) the toggle moves onto the dimmed backdrop\n * and matches the close button in the opposite corner: white on a translucent\n * fill, in a 36px circle. The padding is literal rather than a utility class so\n * that circle matches that button even when this component is consumed from a\n * build that generates its own utilities.\n *\n * The breakpoint is where the address bar stops being able to centre itself.\n * The bar caps at 768px, so once the panel is narrower than roughly 870px the\n * bar's left edge slides under a toggle sitting inside the panel and clips the\n * method chip. `lg` clears that crossover with room to spare.\n */\n@media (width < 1000px) {\n .scalar-sidebar-toggle--overlay {\n color: white;\n background: rgba(0, 0, 0, 0.1);\n border-radius: var(--scalar-radius-full);\n padding: 10px;\n }\n .scalar-sidebar-toggle--overlay:hover {\n background: rgba(255, 255, 255, 0.1);\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;EAgBA,MAAM,EAAE,cAAc,gBAAgB;EAEtC,MAAM,gBAAgB,SAAoB,SAAA,YAEzC;;uBAGC,mBAyCS,UAAA;IAxCN,gBAAc,cAAA;IACf,OAAK,eAAA,CAAC,yBACS,QAAA,YAAO,YAAA,mCAAA,mDAAA,CAAA;IAKtB,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,cAAA,QAAa,CAAI,cAAA;OACzB,mBAIS,QAJT,YAIS,gBAHP,cAAA,QAAwB,MAAA,SAAA,CAAS,CAAA,8BAAA,IAA2C,MAAA,SAAA,CAAS,CAAA,8BAAA,CAAA,GAAA,CAAA,IAAA,UAAA,GAIvF,mBAyBM,OAzBN,YAyBM;8BApBJ,mBAMO,QAAA,MAAA,CALL,mBAIW,YAAA,EAJD,IAAG,OAAM,GAAA,CACjB,mBAE8D,QAAA;KAD5D,aAAU;KACV,GAAE;;IAGR,mBAMI,KANJ,YAMI,CALF,mBAIwB,QAAA;KAHtB,OAAK,eAAA,CAAC,qCACE,cAAA,QAAa,kBAAA,kBAAA,CAAA;KACrB,GAAE;KACF,MAAK;;8BAET,mBAKqB,QAAA;KAJnB,GAAE;KACF,QAAO;KACP,kBAAe;KACf,mBAAgB;KAChB,gBAAa"}
|
package/dist/v2/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/v2/constants.ts
|
|
2
2
|
/** The version number taken from the package.json. Consumers can override at build time via define (e.g. OVERRIDE_PACKAGE_VERSION: JSON.stringify('1.2.3')). */
|
|
3
|
-
var APP_VERSION = typeof OVERRIDE_PACKAGE_VERSION !== "undefined" ? OVERRIDE_PACKAGE_VERSION : "3.21.
|
|
3
|
+
var APP_VERSION = typeof OVERRIDE_PACKAGE_VERSION !== "undefined" ? OVERRIDE_PACKAGE_VERSION : "3.21.2";
|
|
4
4
|
//#endregion
|
|
5
5
|
export { APP_VERSION };
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/modal/Modal.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Modal.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/modal/Modal.vue"],"names":[],"mappings":"AAmOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAA;AACnG,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,GAAG,EACT,MAAM,KAAK,CAAA;AAKZ,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AAKxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAG/E,MAAM,MAAM,UAAU,GAAG;IACvB,4DAA4D;IAC5D,cAAc,EAAE,cAAc,CAAA;IAC9B,qGAAqG;IACrG,QAAQ,EAAE,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;IAC7C,iDAAiD;IACjD,IAAI,EAAE,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACrC,4CAA4C;IAC5C,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,mDAAmD;IACnD,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACvC,yDAAyD;IACzD,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAC5C,kEAAkE;IAClE,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC/B,sEAAsE;IACtE,+BAA+B,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5D,2CAA2C;IAC3C,UAAU,EAAE,UAAU,CAAA;IACtB,0DAA0D;IAC1D,YAAY,EAAE,qBAAqB,CAAA;IACnC,iDAAiD;IACjD,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,wDAAwD;IACxD,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;CAC5C,CAAA;AAED;;;;GAIG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;aAC0C,mBAAmB;;;;;aAAnB,mBAAmB;iGAkS3E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.vue.js","names":[],"sources":["../../../../src/v2/features/modal/Modal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ModalProps = {\n /** The workspace store must be initialized and passed in */\n workspaceStore: WorkspaceStore\n /** The document must be initialized and passed in. OpenAPI-only — the modal has no AsyncAPI path. */\n document: ComputedRef<OpenApiDocument | null>\n /** The path must be initialized and passed in */\n path: ComputedRef<string | undefined>\n /** The event bus for handling all events */\n eventBus: WorkspaceEventBus\n /** The method must be initialized and passed in */\n method: ComputedRef<string | undefined>\n /** The example name must be initialized and passed in */\n exampleName: ComputedRef<string | undefined>\n /** Whether the active route resolves from `document.webhooks`. */\n isWebhook: ComputedRef<boolean>\n /** Selected anyOf/oneOf request-body variants keyed by schema path */\n requestBodyCompositionSelection: Ref<Record<string, number>>\n /** Controls the visibility of the modal */\n modalState: ModalState\n /** The sidebar state must be initialized and passed in */\n sidebarState: UseModalSidebarReturn\n /** Api client plugins to include in the modal */\n plugins: ClientPlugin[]\n /** Subset of the configuration options for the modal */\n options: MaybeRefOrGetter<ApiClientOptions>\n}\n\n/**\n * Scalar Api Client Modal\n *\n * This component is used to render the API Client Modal\n */\nexport default {}\n</script>\n\n<script setup lang=\"ts\">\nimport type { ScalarListboxOption } from '@scalar/components/listbox'\nimport type { ModalState } from '@scalar/components/modal'\nimport type { ClientPlugin } from '@scalar/oas-utils/helpers'\nimport { ScalarToasts } from '@scalar/use-toasts'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { type WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getActiveEnvironment } from '@scalar/workspace-store/request-example'\nimport type { OpenApiDocument } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document'\nimport {\n computed,\n onBeforeUnmount,\n ref,\n watch,\n type ComputedRef,\n type MaybeRefOrGetter,\n type Ref,\n} from 'vue'\n\nimport ModalClientContainer from '@/v2/components/modals/ModalClientContainer.vue'\nimport { Sidebar, SidebarToggle } from '@/v2/components/sidebar'\nimport { provideLocalization } from '@/v2/features/localization'\nimport { type UseModalSidebarReturn } from '@/v2/features/modal/hooks/use-modal-sidebar'\nimport { initializeModalEvents } from '@/v2/features/modal/modal-events'\nimport Operation from '@/v2/features/operation/Operation.vue'\nimport { useGlobalHotKeys } from '@/v2/hooks/use-global-hot-keys'\nimport { useScrollLock } from '@/v2/hooks/use-scroll-lock'\nimport type { ApiClientOptions, ApiClientOptionsRef } from '@/v2/types/options'\n\nconst {\n document,\n eventBus,\n modalState,\n options,\n plugins,\n requestBodyCompositionSelection,\n sidebarState,\n workspaceStore,\n} = defineProps<\n Omit<ModalProps, 'options'> & { options: ApiClientOptionsRef }\n>()\n\nconst { translate, locale, direction } = provideLocalization(\n () => options.value.localization,\n)\n\nconst activeWorkspace: ScalarListboxOption = {\n label: 'default',\n id: 'default',\n}\n\n/** Controls the visibility of the sidebar. */\nconst isSidebarOpen = ref(false)\n\n/** Initialize modal events */\ninitializeModalEvents({\n eventBus,\n isSidebarOpen,\n requestBodyCompositionSelection,\n sidebarState,\n modalState,\n store: workspaceStore,\n})\n\n/** Register global hotkeys for the app, passing the workspace event bus and layout state */\nuseGlobalHotKeys(eventBus, 'modal', () => !modalState.open)\n\n/** Clean up on close */\nconst cleanUp = () => {\n eventBus.emit('operation:cancel:request')\n}\n\nconst isLocked = useScrollLock(() => {\n if (typeof window !== 'undefined') {\n return window.document.body\n }\n return null\n})\n\nwatch(\n () => modalState.open,\n (open) => {\n // Make sure scrolling is locked or unlocked when the modal is opened or closed\n isLocked.value = open\n\n if (!open) {\n cleanUp()\n }\n },\n)\n\n// Ensure we add our scalar wrapper class to the headless ui root\nonBeforeUnmount(() => cleanUp())\n\n/** Default sidebar width in pixels. */\nconst DEFAULT_SIDEBAR_WIDTH = 288\n\n/** Width of the sidebar, with fallback to default. */\nconst sidebarWidth = computed(\n () =>\n workspaceStore?.workspace?.['x-scalar-sidebar-width'] ??\n DEFAULT_SIDEBAR_WIDTH,\n)\n\n/** Handler for sidebar width changes. */\nconst handleSidebarWidthUpdate = (width: number) =>\n workspaceStore?.update('x-scalar-sidebar-width', width)\n\n/**\n * Merged environment variables from workspace and document levels.\n * Variables from both sources are combined, with document variables\n * taking precedence in case of naming conflicts.\n */\nconst environment = computed(\n () => getActiveEnvironment(workspaceStore, document.value).environment,\n)\n\ndefineExpose({\n sidebarWidth,\n environment,\n})\n</script>\n\n<template>\n <ModalClientContainer\n :dir=\"direction\"\n :lang=\"locale\"\n :modalState>\n <!-- Toasts -->\n <ScalarToasts />\n\n <!-- If we have a document, path and method, render the operation -->\n <main\n v-if=\"document.value && path?.value && method?.value\"\n class=\"relative flex h-full min-h-0 w-full flex-1\">\n <SidebarToggle\n v-model=\"isSidebarOpen\"\n class=\"absolute top-2 left-4 z-10 max-
|
|
1
|
+
{"version":3,"file":"Modal.vue.js","names":[],"sources":["../../../../src/v2/features/modal/Modal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ModalProps = {\n /** The workspace store must be initialized and passed in */\n workspaceStore: WorkspaceStore\n /** The document must be initialized and passed in. OpenAPI-only — the modal has no AsyncAPI path. */\n document: ComputedRef<OpenApiDocument | null>\n /** The path must be initialized and passed in */\n path: ComputedRef<string | undefined>\n /** The event bus for handling all events */\n eventBus: WorkspaceEventBus\n /** The method must be initialized and passed in */\n method: ComputedRef<string | undefined>\n /** The example name must be initialized and passed in */\n exampleName: ComputedRef<string | undefined>\n /** Whether the active route resolves from `document.webhooks`. */\n isWebhook: ComputedRef<boolean>\n /** Selected anyOf/oneOf request-body variants keyed by schema path */\n requestBodyCompositionSelection: Ref<Record<string, number>>\n /** Controls the visibility of the modal */\n modalState: ModalState\n /** The sidebar state must be initialized and passed in */\n sidebarState: UseModalSidebarReturn\n /** Api client plugins to include in the modal */\n plugins: ClientPlugin[]\n /** Subset of the configuration options for the modal */\n options: MaybeRefOrGetter<ApiClientOptions>\n}\n\n/**\n * Scalar Api Client Modal\n *\n * This component is used to render the API Client Modal\n */\nexport default {}\n</script>\n\n<script setup lang=\"ts\">\nimport type { ScalarListboxOption } from '@scalar/components/listbox'\nimport type { ModalState } from '@scalar/components/modal'\nimport type { ClientPlugin } from '@scalar/oas-utils/helpers'\nimport { ScalarToasts } from '@scalar/use-toasts'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { type WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getActiveEnvironment } from '@scalar/workspace-store/request-example'\nimport type { OpenApiDocument } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document'\nimport {\n computed,\n onBeforeUnmount,\n ref,\n watch,\n type ComputedRef,\n type MaybeRefOrGetter,\n type Ref,\n} from 'vue'\n\nimport ModalClientContainer from '@/v2/components/modals/ModalClientContainer.vue'\nimport { Sidebar, SidebarToggle } from '@/v2/components/sidebar'\nimport { provideLocalization } from '@/v2/features/localization'\nimport { type UseModalSidebarReturn } from '@/v2/features/modal/hooks/use-modal-sidebar'\nimport { initializeModalEvents } from '@/v2/features/modal/modal-events'\nimport Operation from '@/v2/features/operation/Operation.vue'\nimport { useGlobalHotKeys } from '@/v2/hooks/use-global-hot-keys'\nimport { useScrollLock } from '@/v2/hooks/use-scroll-lock'\nimport type { ApiClientOptions, ApiClientOptionsRef } from '@/v2/types/options'\n\nconst {\n document,\n eventBus,\n modalState,\n options,\n plugins,\n requestBodyCompositionSelection,\n sidebarState,\n workspaceStore,\n} = defineProps<\n Omit<ModalProps, 'options'> & { options: ApiClientOptionsRef }\n>()\n\nconst { translate, locale, direction } = provideLocalization(\n () => options.value.localization,\n)\n\nconst activeWorkspace: ScalarListboxOption = {\n label: 'default',\n id: 'default',\n}\n\n/** Controls the visibility of the sidebar. */\nconst isSidebarOpen = ref(false)\n\n/** Initialize modal events */\ninitializeModalEvents({\n eventBus,\n isSidebarOpen,\n requestBodyCompositionSelection,\n sidebarState,\n modalState,\n store: workspaceStore,\n})\n\n/** Register global hotkeys for the app, passing the workspace event bus and layout state */\nuseGlobalHotKeys(eventBus, 'modal', () => !modalState.open)\n\n/** Clean up on close */\nconst cleanUp = () => {\n eventBus.emit('operation:cancel:request')\n}\n\nconst isLocked = useScrollLock(() => {\n if (typeof window !== 'undefined') {\n return window.document.body\n }\n return null\n})\n\nwatch(\n () => modalState.open,\n (open) => {\n // Make sure scrolling is locked or unlocked when the modal is opened or closed\n isLocked.value = open\n\n if (!open) {\n cleanUp()\n }\n },\n)\n\n// Ensure we add our scalar wrapper class to the headless ui root\nonBeforeUnmount(() => cleanUp())\n\n/** Default sidebar width in pixels. */\nconst DEFAULT_SIDEBAR_WIDTH = 288\n\n/** Width of the sidebar, with fallback to default. */\nconst sidebarWidth = computed(\n () =>\n workspaceStore?.workspace?.['x-scalar-sidebar-width'] ??\n DEFAULT_SIDEBAR_WIDTH,\n)\n\n/** Handler for sidebar width changes. */\nconst handleSidebarWidthUpdate = (width: number) =>\n workspaceStore?.update('x-scalar-sidebar-width', width)\n\n/**\n * Merged environment variables from workspace and document levels.\n * Variables from both sources are combined, with document variables\n * taking precedence in case of naming conflicts.\n */\nconst environment = computed(\n () => getActiveEnvironment(workspaceStore, document.value).environment,\n)\n\ndefineExpose({\n sidebarWidth,\n environment,\n})\n</script>\n\n<template>\n <ModalClientContainer\n :dir=\"direction\"\n :lang=\"locale\"\n :modalState>\n <!-- Toasts -->\n <ScalarToasts />\n\n <!-- If we have a document, path and method, render the operation -->\n <main\n v-if=\"document.value && path?.value && method?.value\"\n class=\"relative flex h-full min-h-0 w-full flex-1\">\n <!--\n The toggle keeps its place inside the panel while the header row is wide\n enough for the address bar to centre itself clear of it. Below `lg` the\n bar fills the row and its method chip reaches the panel edge, so the\n toggle moves onto the backdrop and mirrors the close button in the\n opposite corner, leaving the whole row to the bar.\n -->\n <SidebarToggle\n v-model=\"isSidebarOpen\"\n class=\"absolute top-2 left-4 z-10 max-lg:fixed max-lg:top-2 max-lg:left-2\"\n variant=\"overlay\" />\n <Sidebar\n v-show=\"isSidebarOpen\"\n v-model:sidebarWidth=\"sidebarWidth\"\n :activeWorkspace=\"activeWorkspace\"\n class=\"h-full max-md:absolute! max-md:z-5 max-md:w-full!\"\n :documents=\"[document.value]\"\n :eventBus\n :isDroppable=\"() => false\"\n layout=\"modal\"\n :sidebarState=\"sidebarState.state\"\n :workspaces=\"[]\"\n @selectItem=\"sidebarState.handleSelectItem\"\n @update:sidebarWidth=\"handleSidebarWidthUpdate\" />\n <Operation\n :activeWorkspace=\"activeWorkspace\"\n class=\"flex-1\"\n :document=\"document.value\"\n :documentSlug=\"document.value['x-scalar-navigation']?.name ?? ''\"\n :environment\n :eventBus\n :exampleName=\"exampleName?.value\"\n :isActive=\"modalState.open\"\n :isWebhook=\"isWebhook.value\"\n layout=\"modal\"\n :method=\"method?.value\"\n :options\n :path=\"path?.value\"\n :plugins\n :requestBodyCompositionSelection=\"requestBodyCompositionSelection.value\"\n :workspaceStore />\n </main>\n <!-- Empty state -->\n <div\n v-else\n class=\"flex h-full w-full items-center justify-center\">\n <span class=\"text-c-3\">{{\n translate('apiClient.modal.noDocumentSelected')\n }}</span>\n </div>\n </ModalClientContainer>\n</template>\n"],"mappings":""}
|
|
@@ -93,7 +93,8 @@ var Modal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
93
93
|
createVNode(unref(SidebarToggle_default), {
|
|
94
94
|
modelValue: isSidebarOpen.value,
|
|
95
95
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isSidebarOpen.value = $event),
|
|
96
|
-
class: "absolute top-2 left-4 z-10 max-
|
|
96
|
+
class: "absolute top-2 left-4 z-10 max-lg:fixed max-lg:top-2 max-lg:left-2",
|
|
97
|
+
variant: "overlay"
|
|
97
98
|
}, null, 8, ["modelValue"]),
|
|
98
99
|
withDirectives(createVNode(unref(Sidebar_default), {
|
|
99
100
|
sidebarWidth: sidebarWidth.value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.vue.script.js","names":[],"sources":["../../../../src/v2/features/modal/Modal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ModalProps = {\n /** The workspace store must be initialized and passed in */\n workspaceStore: WorkspaceStore\n /** The document must be initialized and passed in. OpenAPI-only — the modal has no AsyncAPI path. */\n document: ComputedRef<OpenApiDocument | null>\n /** The path must be initialized and passed in */\n path: ComputedRef<string | undefined>\n /** The event bus for handling all events */\n eventBus: WorkspaceEventBus\n /** The method must be initialized and passed in */\n method: ComputedRef<string | undefined>\n /** The example name must be initialized and passed in */\n exampleName: ComputedRef<string | undefined>\n /** Whether the active route resolves from `document.webhooks`. */\n isWebhook: ComputedRef<boolean>\n /** Selected anyOf/oneOf request-body variants keyed by schema path */\n requestBodyCompositionSelection: Ref<Record<string, number>>\n /** Controls the visibility of the modal */\n modalState: ModalState\n /** The sidebar state must be initialized and passed in */\n sidebarState: UseModalSidebarReturn\n /** Api client plugins to include in the modal */\n plugins: ClientPlugin[]\n /** Subset of the configuration options for the modal */\n options: MaybeRefOrGetter<ApiClientOptions>\n}\n\n/**\n * Scalar Api Client Modal\n *\n * This component is used to render the API Client Modal\n */\nexport default {}\n</script>\n\n<script setup lang=\"ts\">\nimport type { ScalarListboxOption } from '@scalar/components/listbox'\nimport type { ModalState } from '@scalar/components/modal'\nimport type { ClientPlugin } from '@scalar/oas-utils/helpers'\nimport { ScalarToasts } from '@scalar/use-toasts'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { type WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getActiveEnvironment } from '@scalar/workspace-store/request-example'\nimport type { OpenApiDocument } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document'\nimport {\n computed,\n onBeforeUnmount,\n ref,\n watch,\n type ComputedRef,\n type MaybeRefOrGetter,\n type Ref,\n} from 'vue'\n\nimport ModalClientContainer from '@/v2/components/modals/ModalClientContainer.vue'\nimport { Sidebar, SidebarToggle } from '@/v2/components/sidebar'\nimport { provideLocalization } from '@/v2/features/localization'\nimport { type UseModalSidebarReturn } from '@/v2/features/modal/hooks/use-modal-sidebar'\nimport { initializeModalEvents } from '@/v2/features/modal/modal-events'\nimport Operation from '@/v2/features/operation/Operation.vue'\nimport { useGlobalHotKeys } from '@/v2/hooks/use-global-hot-keys'\nimport { useScrollLock } from '@/v2/hooks/use-scroll-lock'\nimport type { ApiClientOptions, ApiClientOptionsRef } from '@/v2/types/options'\n\nconst {\n document,\n eventBus,\n modalState,\n options,\n plugins,\n requestBodyCompositionSelection,\n sidebarState,\n workspaceStore,\n} = defineProps<\n Omit<ModalProps, 'options'> & { options: ApiClientOptionsRef }\n>()\n\nconst { translate, locale, direction } = provideLocalization(\n () => options.value.localization,\n)\n\nconst activeWorkspace: ScalarListboxOption = {\n label: 'default',\n id: 'default',\n}\n\n/** Controls the visibility of the sidebar. */\nconst isSidebarOpen = ref(false)\n\n/** Initialize modal events */\ninitializeModalEvents({\n eventBus,\n isSidebarOpen,\n requestBodyCompositionSelection,\n sidebarState,\n modalState,\n store: workspaceStore,\n})\n\n/** Register global hotkeys for the app, passing the workspace event bus and layout state */\nuseGlobalHotKeys(eventBus, 'modal', () => !modalState.open)\n\n/** Clean up on close */\nconst cleanUp = () => {\n eventBus.emit('operation:cancel:request')\n}\n\nconst isLocked = useScrollLock(() => {\n if (typeof window !== 'undefined') {\n return window.document.body\n }\n return null\n})\n\nwatch(\n () => modalState.open,\n (open) => {\n // Make sure scrolling is locked or unlocked when the modal is opened or closed\n isLocked.value = open\n\n if (!open) {\n cleanUp()\n }\n },\n)\n\n// Ensure we add our scalar wrapper class to the headless ui root\nonBeforeUnmount(() => cleanUp())\n\n/** Default sidebar width in pixels. */\nconst DEFAULT_SIDEBAR_WIDTH = 288\n\n/** Width of the sidebar, with fallback to default. */\nconst sidebarWidth = computed(\n () =>\n workspaceStore?.workspace?.['x-scalar-sidebar-width'] ??\n DEFAULT_SIDEBAR_WIDTH,\n)\n\n/** Handler for sidebar width changes. */\nconst handleSidebarWidthUpdate = (width: number) =>\n workspaceStore?.update('x-scalar-sidebar-width', width)\n\n/**\n * Merged environment variables from workspace and document levels.\n * Variables from both sources are combined, with document variables\n * taking precedence in case of naming conflicts.\n */\nconst environment = computed(\n () => getActiveEnvironment(workspaceStore, document.value).environment,\n)\n\ndefineExpose({\n sidebarWidth,\n environment,\n})\n</script>\n\n<template>\n <ModalClientContainer\n :dir=\"direction\"\n :lang=\"locale\"\n :modalState>\n <!-- Toasts -->\n <ScalarToasts />\n\n <!-- If we have a document, path and method, render the operation -->\n <main\n v-if=\"document.value && path?.value && method?.value\"\n class=\"relative flex h-full min-h-0 w-full flex-1\">\n <SidebarToggle\n v-model=\"isSidebarOpen\"\n class=\"absolute top-2 left-4 z-10 max-
|
|
1
|
+
{"version":3,"file":"Modal.vue.script.js","names":[],"sources":["../../../../src/v2/features/modal/Modal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ModalProps = {\n /** The workspace store must be initialized and passed in */\n workspaceStore: WorkspaceStore\n /** The document must be initialized and passed in. OpenAPI-only — the modal has no AsyncAPI path. */\n document: ComputedRef<OpenApiDocument | null>\n /** The path must be initialized and passed in */\n path: ComputedRef<string | undefined>\n /** The event bus for handling all events */\n eventBus: WorkspaceEventBus\n /** The method must be initialized and passed in */\n method: ComputedRef<string | undefined>\n /** The example name must be initialized and passed in */\n exampleName: ComputedRef<string | undefined>\n /** Whether the active route resolves from `document.webhooks`. */\n isWebhook: ComputedRef<boolean>\n /** Selected anyOf/oneOf request-body variants keyed by schema path */\n requestBodyCompositionSelection: Ref<Record<string, number>>\n /** Controls the visibility of the modal */\n modalState: ModalState\n /** The sidebar state must be initialized and passed in */\n sidebarState: UseModalSidebarReturn\n /** Api client plugins to include in the modal */\n plugins: ClientPlugin[]\n /** Subset of the configuration options for the modal */\n options: MaybeRefOrGetter<ApiClientOptions>\n}\n\n/**\n * Scalar Api Client Modal\n *\n * This component is used to render the API Client Modal\n */\nexport default {}\n</script>\n\n<script setup lang=\"ts\">\nimport type { ScalarListboxOption } from '@scalar/components/listbox'\nimport type { ModalState } from '@scalar/components/modal'\nimport type { ClientPlugin } from '@scalar/oas-utils/helpers'\nimport { ScalarToasts } from '@scalar/use-toasts'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { type WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getActiveEnvironment } from '@scalar/workspace-store/request-example'\nimport type { OpenApiDocument } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document'\nimport {\n computed,\n onBeforeUnmount,\n ref,\n watch,\n type ComputedRef,\n type MaybeRefOrGetter,\n type Ref,\n} from 'vue'\n\nimport ModalClientContainer from '@/v2/components/modals/ModalClientContainer.vue'\nimport { Sidebar, SidebarToggle } from '@/v2/components/sidebar'\nimport { provideLocalization } from '@/v2/features/localization'\nimport { type UseModalSidebarReturn } from '@/v2/features/modal/hooks/use-modal-sidebar'\nimport { initializeModalEvents } from '@/v2/features/modal/modal-events'\nimport Operation from '@/v2/features/operation/Operation.vue'\nimport { useGlobalHotKeys } from '@/v2/hooks/use-global-hot-keys'\nimport { useScrollLock } from '@/v2/hooks/use-scroll-lock'\nimport type { ApiClientOptions, ApiClientOptionsRef } from '@/v2/types/options'\n\nconst {\n document,\n eventBus,\n modalState,\n options,\n plugins,\n requestBodyCompositionSelection,\n sidebarState,\n workspaceStore,\n} = defineProps<\n Omit<ModalProps, 'options'> & { options: ApiClientOptionsRef }\n>()\n\nconst { translate, locale, direction } = provideLocalization(\n () => options.value.localization,\n)\n\nconst activeWorkspace: ScalarListboxOption = {\n label: 'default',\n id: 'default',\n}\n\n/** Controls the visibility of the sidebar. */\nconst isSidebarOpen = ref(false)\n\n/** Initialize modal events */\ninitializeModalEvents({\n eventBus,\n isSidebarOpen,\n requestBodyCompositionSelection,\n sidebarState,\n modalState,\n store: workspaceStore,\n})\n\n/** Register global hotkeys for the app, passing the workspace event bus and layout state */\nuseGlobalHotKeys(eventBus, 'modal', () => !modalState.open)\n\n/** Clean up on close */\nconst cleanUp = () => {\n eventBus.emit('operation:cancel:request')\n}\n\nconst isLocked = useScrollLock(() => {\n if (typeof window !== 'undefined') {\n return window.document.body\n }\n return null\n})\n\nwatch(\n () => modalState.open,\n (open) => {\n // Make sure scrolling is locked or unlocked when the modal is opened or closed\n isLocked.value = open\n\n if (!open) {\n cleanUp()\n }\n },\n)\n\n// Ensure we add our scalar wrapper class to the headless ui root\nonBeforeUnmount(() => cleanUp())\n\n/** Default sidebar width in pixels. */\nconst DEFAULT_SIDEBAR_WIDTH = 288\n\n/** Width of the sidebar, with fallback to default. */\nconst sidebarWidth = computed(\n () =>\n workspaceStore?.workspace?.['x-scalar-sidebar-width'] ??\n DEFAULT_SIDEBAR_WIDTH,\n)\n\n/** Handler for sidebar width changes. */\nconst handleSidebarWidthUpdate = (width: number) =>\n workspaceStore?.update('x-scalar-sidebar-width', width)\n\n/**\n * Merged environment variables from workspace and document levels.\n * Variables from both sources are combined, with document variables\n * taking precedence in case of naming conflicts.\n */\nconst environment = computed(\n () => getActiveEnvironment(workspaceStore, document.value).environment,\n)\n\ndefineExpose({\n sidebarWidth,\n environment,\n})\n</script>\n\n<template>\n <ModalClientContainer\n :dir=\"direction\"\n :lang=\"locale\"\n :modalState>\n <!-- Toasts -->\n <ScalarToasts />\n\n <!-- If we have a document, path and method, render the operation -->\n <main\n v-if=\"document.value && path?.value && method?.value\"\n class=\"relative flex h-full min-h-0 w-full flex-1\">\n <!--\n The toggle keeps its place inside the panel while the header row is wide\n enough for the address bar to centre itself clear of it. Below `lg` the\n bar fills the row and its method chip reaches the panel edge, so the\n toggle moves onto the backdrop and mirrors the close button in the\n opposite corner, leaving the whole row to the bar.\n -->\n <SidebarToggle\n v-model=\"isSidebarOpen\"\n class=\"absolute top-2 left-4 z-10 max-lg:fixed max-lg:top-2 max-lg:left-2\"\n variant=\"overlay\" />\n <Sidebar\n v-show=\"isSidebarOpen\"\n v-model:sidebarWidth=\"sidebarWidth\"\n :activeWorkspace=\"activeWorkspace\"\n class=\"h-full max-md:absolute! max-md:z-5 max-md:w-full!\"\n :documents=\"[document.value]\"\n :eventBus\n :isDroppable=\"() => false\"\n layout=\"modal\"\n :sidebarState=\"sidebarState.state\"\n :workspaces=\"[]\"\n @selectItem=\"sidebarState.handleSelectItem\"\n @update:sidebarWidth=\"handleSidebarWidthUpdate\" />\n <Operation\n :activeWorkspace=\"activeWorkspace\"\n class=\"flex-1\"\n :document=\"document.value\"\n :documentSlug=\"document.value['x-scalar-navigation']?.name ?? ''\"\n :environment\n :eventBus\n :exampleName=\"exampleName?.value\"\n :isActive=\"modalState.open\"\n :isWebhook=\"isWebhook.value\"\n layout=\"modal\"\n :method=\"method?.value\"\n :options\n :path=\"path?.value\"\n :plugins\n :requestBodyCompositionSelection=\"requestBodyCompositionSelection.value\"\n :workspaceStore />\n </main>\n <!-- Empty state -->\n <div\n v-else\n class=\"flex h-full w-full items-center justify-center\">\n <span class=\"text-c-3\">{{\n translate('apiClient.modal.noDocumentSelected')\n }}</span>\n </div>\n </ModalClientContainer>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8EA,MAAM,EAAE,WAAW,QAAQ,cAAc,0BACjC,QAAA,QAAQ,MAAM,YACtB;EAEA,MAAM,kBAAuC;GAC3C,OAAO;GACP,IAAI;EACN;;EAGA,MAAM,gBAAgB,IAAI,KAAK;;EAG/B,sBAAsB;GACpB,UAAO,QAAA;GACP;GACA,iCAA8B,QAAA;GAC9B,cAAW,QAAA;GACX,YAAS,QAAA;GACT,OAAO,QAAA;EACT,CAAC;;EAGD,iBAAiB,QAAA,UAAU,eAAe,CAAC,QAAA,WAAW,IAAI;;EAG1D,MAAM,gBAAgB;GACpB,QAAA,SAAS,KAAK,0BAA0B;EAC1C;EAEA,MAAM,WAAW,oBAAoB;GACnC,IAAI,OAAO,WAAW,aACpB,OAAO,OAAO,SAAS;GAEzB,OAAO;EACT,CAAC;EAED,YACQ,QAAA,WAAW,OAChB,SAAS;GAER,SAAS,QAAQ;GAEjB,IAAI,CAAC,MACH,QAAQ;EAEZ,CACF;EAGA,sBAAsB,QAAQ,CAAC;;EAG/B,MAAM,wBAAwB;;EAG9B,MAAM,eAAe,eAEjB,QAAA,gBAAgB,YAAY,6BAC5B,qBACJ;;EAGA,MAAM,4BAA4B,UAChC,QAAA,gBAAgB,OAAO,0BAA0B,KAAK;;;;;;EAOxD,MAAM,cAAc,eACZ,qBAAqB,QAAA,gBAAgB,QAAA,SAAS,KAAK,CAAC,CAAC,WAC7D;EAEA,SAAa;GACX;GACA;EACF,CAAC;;uBAIC,YA6DuB,8BAAA;IA5DpB,KAAK,MAAA,SAAA;IACL,MAAM,MAAA,MAAA;IACN,YAAA,QAAA;;2BAEe,CAAhB,YAAgB,MAAA,YAAA,CAAA,GAIR,QAAA,SAAS,SAAS,QAAA,MAAM,SAAS,QAAA,QAAQ,SAAA,UAAA,GADjD,mBA4CO,QA5CP,YA4CO;KAlCL,YAGsB,MAAA,qBAAA,GAAA;kBAFX,cAAA;iFAAa,QAAA;MACtB,OAAM;MACN,SAAQ;;oBACV,YAYoD,MAAA,eAAA,GAAA;MAV1C,cAAc,aAAA;mFAAY,QAAA,SAUZ,wBAAA;MATJ;MAClB,OAAM;MACL,WAAS,CAAG,QAAA,SAAS,KAAK;MAC1B,UAAA,QAAA;MACA,mBAAa;MACd,QAAO;MACN,cAAc,QAAA,aAAa;MAC3B,YAAY,CAAA;MACZ,cAAY,QAAA,aAAa;;;;;;;kBAVlB,cAAA,KAAa,CAAA,CAAA;KAYvB,YAgBoB,mBAAA;MAfA;MAClB,OAAM;MACL,UAAU,QAAA,SAAS;MACnB,cAAc,QAAA,SAAS,MAAK,sBAAA,EAAyB,QAAI;MACzD,aAAA,YAAA;MACA,UAAA,QAAA;MACA,aAAa,QAAA,aAAa;MAC1B,UAAU,QAAA,WAAW;MACrB,WAAW,QAAA,UAAU;MACtB,QAAO;MACN,QAAQ,QAAA,QAAQ;MAChB,SAAA,QAAA;MACA,MAAM,QAAA,MAAM;MACZ,SAAA,QAAA;MACA,iCAAiC,QAAA,gCAAgC;MACjE,gBAAA,QAAA;;;;;;;;;;;;;;;;wBAGL,mBAMM,OANN,YAMM,CAHJ,mBAES,QAFT,YAES,gBADP,MAAA,SAAA,CAAS,CAAA,oCAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAAA,CAAA"}
|
package/dist/vue-styles.css
CHANGED
|
@@ -60,21 +60,21 @@ to {
|
|
|
60
60
|
);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
.fade-request-section-content[data-v-
|
|
63
|
+
.fade-request-section-content[data-v-50fd0a3c] {
|
|
64
64
|
background: linear-gradient(
|
|
65
65
|
to left,
|
|
66
66
|
var(--scalar-background-1) 64%,
|
|
67
67
|
transparent
|
|
68
68
|
);
|
|
69
69
|
}
|
|
70
|
-
.fade-request-section-content[data-v-
|
|
70
|
+
.fade-request-section-content[data-v-50fd0a3c]:dir(rtl) {
|
|
71
71
|
background: linear-gradient(
|
|
72
72
|
to right,
|
|
73
73
|
var(--scalar-background-1) 64%,
|
|
74
74
|
transparent
|
|
75
75
|
);
|
|
76
76
|
}
|
|
77
|
-
.filter-hover[data-v-
|
|
77
|
+
.filter-hover[data-v-50fd0a3c] {
|
|
78
78
|
height: 100%;
|
|
79
79
|
padding-inline-end: 39px;
|
|
80
80
|
padding-inline-start: 24px;
|
|
@@ -83,12 +83,12 @@ to {
|
|
|
83
83
|
transition: width 0s ease-in-out 0.2s;
|
|
84
84
|
overflow: hidden;
|
|
85
85
|
}
|
|
86
|
-
.filter-hover[data-v-
|
|
87
|
-
.filter-hover[data-v-
|
|
86
|
+
.filter-hover[data-v-50fd0a3c]:hover,
|
|
87
|
+
.filter-hover[data-v-50fd0a3c]:has(:focus-visible) {
|
|
88
88
|
width: 100%;
|
|
89
89
|
z-index: 10;
|
|
90
90
|
}
|
|
91
|
-
.filter-hover[data-v-
|
|
91
|
+
.filter-hover[data-v-50fd0a3c]:before {
|
|
92
92
|
content: '';
|
|
93
93
|
position: absolute;
|
|
94
94
|
top: 0;
|
|
@@ -100,59 +100,59 @@ to {
|
|
|
100
100
|
transition: all 0.3s ease-in-out;
|
|
101
101
|
pointer-events: none;
|
|
102
102
|
}
|
|
103
|
-
.filter-hover-item[data-v-
|
|
103
|
+
.filter-hover-item[data-v-50fd0a3c] {
|
|
104
104
|
opacity: 0;
|
|
105
105
|
}
|
|
106
|
-
.filter-hover-item[data-v-
|
|
106
|
+
.filter-hover-item[data-v-50fd0a3c]:not(:last-of-type) {
|
|
107
107
|
transform: translate3d(0, 3px, 0);
|
|
108
108
|
}
|
|
109
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
109
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c] {
|
|
110
110
|
transition:
|
|
111
111
|
opacity 0.2s ease-in-out,
|
|
112
112
|
transform 0.2s ease-in-out;
|
|
113
113
|
}
|
|
114
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
114
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(1) {
|
|
115
115
|
transition-delay: 0.05s;
|
|
116
116
|
}
|
|
117
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
117
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(2) {
|
|
118
118
|
transition-delay: 0.1s;
|
|
119
119
|
}
|
|
120
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
120
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(3) {
|
|
121
121
|
transition-delay: 0.15s;
|
|
122
122
|
}
|
|
123
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
123
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(4) {
|
|
124
124
|
transition-delay: 0.2s;
|
|
125
125
|
}
|
|
126
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
126
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(5) {
|
|
127
127
|
transition-delay: 0.25s;
|
|
128
128
|
}
|
|
129
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
129
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(6) {
|
|
130
130
|
transition-delay: 0.3s;
|
|
131
131
|
}
|
|
132
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
132
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(7) {
|
|
133
133
|
transition-delay: 0.35s;
|
|
134
134
|
}
|
|
135
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
136
|
-
.filter-hover:has(:focus-visible) .filter-hover-item[data-v-
|
|
135
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c],
|
|
136
|
+
.filter-hover:has(:focus-visible) .filter-hover-item[data-v-50fd0a3c] {
|
|
137
137
|
opacity: 1;
|
|
138
138
|
transform: translate3d(0, 0, 0);
|
|
139
139
|
}
|
|
140
|
-
.filter-hover[data-v-
|
|
141
|
-
.filter-hover[data-v-
|
|
140
|
+
.filter-hover[data-v-50fd0a3c]:hover:before,
|
|
141
|
+
.filter-hover[data-v-50fd0a3c]:has(:focus-visible):before {
|
|
142
142
|
opacity: 0.9;
|
|
143
143
|
backdrop-filter: blur(10px);
|
|
144
144
|
}
|
|
145
|
-
.filter-button[data-v-
|
|
145
|
+
.filter-button[data-v-50fd0a3c] {
|
|
146
146
|
top: 50%;
|
|
147
147
|
transform: translateY(-50%);
|
|
148
148
|
}
|
|
149
|
-
.context-bar-group:hover .context-bar-group-hover\:text-c-1[data-v-
|
|
150
|
-
.context-bar-group:has(:focus-visible) .context-bar-group-hover\:text-c-1[data-v-
|
|
149
|
+
.context-bar-group:hover .context-bar-group-hover\:text-c-1[data-v-50fd0a3c],
|
|
150
|
+
.context-bar-group:has(:focus-visible) .context-bar-group-hover\:text-c-1[data-v-50fd0a3c] {
|
|
151
151
|
--tw-text-opacity: 1;
|
|
152
152
|
color: rgb(var(--scalar-color-1) / var(--tw-text-opacity));
|
|
153
153
|
}
|
|
154
|
-
.context-bar-group:hover .context-bar-group-hover\:hidden[data-v-
|
|
155
|
-
.context-bar-group:has(:focus-visible) .context-bar-group-hover\:hidden[data-v-
|
|
154
|
+
.context-bar-group:hover .context-bar-group-hover\:hidden[data-v-50fd0a3c],
|
|
155
|
+
.context-bar-group:has(:focus-visible) .context-bar-group-hover\:hidden[data-v-50fd0a3c] {
|
|
156
156
|
display: none;
|
|
157
157
|
}
|
|
158
158
|
|
|
@@ -328,13 +328,13 @@ to {
|
|
|
328
328
|
color: var(--scalar-color-1);
|
|
329
329
|
}
|
|
330
330
|
|
|
331
|
-
.code-input-lite[data-v-
|
|
331
|
+
.code-input-lite[data-v-360ebc3c] {
|
|
332
332
|
/* Flex so the editor centres vertically in whatever height the cell gives us.
|
|
333
333
|
Font properties inherit so we adopt the surrounding typography. */
|
|
334
334
|
display: flex;
|
|
335
335
|
align-items: center;
|
|
336
336
|
}
|
|
337
|
-
.code-input-lite__editor[data-v-
|
|
337
|
+
.code-input-lite__editor[data-v-360ebc3c] {
|
|
338
338
|
/* Everything font-related inherits from the surrounding context. */
|
|
339
339
|
font: inherit;
|
|
340
340
|
letter-spacing: inherit;
|
|
@@ -356,7 +356,7 @@ to {
|
|
|
356
356
|
/* Positioning context for the absolutely positioned placeholder. */
|
|
357
357
|
position: relative;
|
|
358
358
|
}
|
|
359
|
-
.code-input-lite__editor[data-v-
|
|
359
|
+
.code-input-lite__editor[data-v-360ebc3c]::-webkit-scrollbar {
|
|
360
360
|
display: none;
|
|
361
361
|
}
|
|
362
362
|
|
|
@@ -364,7 +364,7 @@ to {
|
|
|
364
364
|
contenteditable; otherwise the caret would land after it on focus.
|
|
365
365
|
`pointer-events: none` lets clicks fall through to focus the editor.
|
|
366
366
|
Hidden on focus so it never renders on top of the text caret. */
|
|
367
|
-
.code-input-lite--empty .code-input-lite__editor[data-v-
|
|
367
|
+
.code-input-lite--empty .code-input-lite__editor[data-v-360ebc3c]:not(:focus)::before {
|
|
368
368
|
content: attr(data-placeholder);
|
|
369
369
|
color: var(--scalar-color-3);
|
|
370
370
|
pointer-events: none;
|
|
@@ -375,7 +375,7 @@ to {
|
|
|
375
375
|
display: flex;
|
|
376
376
|
align-items: center;
|
|
377
377
|
}
|
|
378
|
-
.code-input-lite--error .code-input-lite__editor[data-v-
|
|
378
|
+
.code-input-lite--error .code-input-lite__editor[data-v-360ebc3c] {
|
|
379
379
|
outline: 1px solid var(--scalar-color-red);
|
|
380
380
|
}
|
|
381
381
|
|
|
@@ -419,41 +419,41 @@ to {
|
|
|
419
419
|
background: color-mix(in srgb, var(--scalar-background-3), transparent 40%);
|
|
420
420
|
}
|
|
421
421
|
|
|
422
|
-
[data-v-
|
|
422
|
+
[data-v-e29008b7] .code-input-lite__editor {
|
|
423
423
|
background-color: transparent;
|
|
424
424
|
font-family: var(--scalar-font);
|
|
425
425
|
font-size: var(--scalar-small);
|
|
426
426
|
padding: 5px 8px;
|
|
427
427
|
}
|
|
428
|
-
[data-v-
|
|
428
|
+
[data-v-e29008b7] .scalar-pill:not(:last-of-type) {
|
|
429
429
|
margin-right: 0.15em;
|
|
430
430
|
}
|
|
431
|
-
[data-v-
|
|
431
|
+
[data-v-e29008b7] .scalar-pill:not(:first-of-type) {
|
|
432
432
|
margin-left: 0.5px;
|
|
433
433
|
}
|
|
434
434
|
|
|
435
|
-
[data-v-
|
|
435
|
+
[data-v-42eb1913] .cm-content {
|
|
436
436
|
font-size: var(--scalar-small);
|
|
437
437
|
}
|
|
438
438
|
|
|
439
|
-
[data-v-
|
|
439
|
+
[data-v-8e7de9be] .code-input-lite__editor {
|
|
440
440
|
background-color: transparent;
|
|
441
441
|
font-family: var(--scalar-font);
|
|
442
442
|
font-size: var(--scalar-small);
|
|
443
443
|
padding: 5px 8px;
|
|
444
444
|
}
|
|
445
|
-
[data-v-
|
|
445
|
+
[data-v-8e7de9be] .scalar-pill:not(:last-of-type) {
|
|
446
446
|
margin-right: 0.15em;
|
|
447
447
|
}
|
|
448
|
-
[data-v-
|
|
448
|
+
[data-v-8e7de9be] .scalar-pill:not(:first-of-type) {
|
|
449
449
|
margin-left: 0.5px;
|
|
450
450
|
}
|
|
451
451
|
/* Tailwind placeholder is busted */
|
|
452
|
-
input[data-v-
|
|
452
|
+
input[data-v-8e7de9be]::placeholder {
|
|
453
453
|
color: var(--scalar-color-3);
|
|
454
454
|
}
|
|
455
455
|
/* we want our inputs to look like a password input but not be one */
|
|
456
|
-
.scalar-password-input[data-v-
|
|
456
|
+
.scalar-password-input[data-v-8e7de9be] {
|
|
457
457
|
text-security: disc;
|
|
458
458
|
-webkit-text-security: disc;
|
|
459
459
|
-moz-text-security: disc;
|
|
@@ -481,20 +481,20 @@ input[data-v-135d11b9]::placeholder {
|
|
|
481
481
|
scrollbar-width: none;
|
|
482
482
|
}
|
|
483
483
|
|
|
484
|
-
.request-section-content[data-v-
|
|
484
|
+
.request-section-content[data-v-5bf07c90] {
|
|
485
485
|
--scalar-border-width: 0.5px;
|
|
486
486
|
}
|
|
487
|
-
.request-section-content-filter[data-v-
|
|
487
|
+
.request-section-content-filter[data-v-5bf07c90] {
|
|
488
488
|
box-shadow: 0 -10px 0 10px var(--scalar-background-1);
|
|
489
489
|
}
|
|
490
|
-
.request-item:focus-within .request-meta-buttons[data-v-
|
|
490
|
+
.request-item:focus-within .request-meta-buttons[data-v-5bf07c90] {
|
|
491
491
|
opacity: 1;
|
|
492
492
|
}
|
|
493
|
-
.group-hover-input[data-v-
|
|
493
|
+
.group-hover-input[data-v-5bf07c90] {
|
|
494
494
|
border-width: var(--scalar-border-width);
|
|
495
495
|
border-color: transparent;
|
|
496
496
|
}
|
|
497
|
-
.group:hover .group-hover-input[data-v-
|
|
497
|
+
.group:hover .group-hover-input[data-v-5bf07c90] {
|
|
498
498
|
background: color-mix(
|
|
499
499
|
in srgb,
|
|
500
500
|
var(--scalar-background-1),
|
|
@@ -502,7 +502,7 @@ input[data-v-135d11b9]::placeholder {
|
|
|
502
502
|
);
|
|
503
503
|
border-color: var(--scalar-border-color);
|
|
504
504
|
}
|
|
505
|
-
.group-hover-input[data-v-
|
|
505
|
+
.group-hover-input[data-v-5bf07c90]:focus {
|
|
506
506
|
background: transparent !important;
|
|
507
507
|
border-color: var(--scalar-border-color) !important;
|
|
508
508
|
}
|
|
@@ -582,11 +582,11 @@ input[data-v-135d11b9]::placeholder {
|
|
|
582
582
|
opacity: 0;
|
|
583
583
|
}
|
|
584
584
|
|
|
585
|
-
.animate-response-heading .response-heading[data-v-
|
|
586
|
-
animation: push-response-
|
|
585
|
+
.animate-response-heading .response-heading[data-v-29000e66] {
|
|
586
|
+
animation: push-response-29000e66 0.2s ease-in-out forwards;
|
|
587
587
|
opacity: 1;
|
|
588
588
|
}
|
|
589
|
-
@keyframes push-response-
|
|
589
|
+
@keyframes push-response-29000e66 {
|
|
590
590
|
from {
|
|
591
591
|
opacity: 1;
|
|
592
592
|
transform: translateY(0);
|
|
@@ -596,11 +596,11 @@ to {
|
|
|
596
596
|
transform: translateY(-4px);
|
|
597
597
|
}
|
|
598
598
|
}
|
|
599
|
-
.animate-response-heading .animate-response-children[data-v-
|
|
600
|
-
animation: response-spans-
|
|
599
|
+
.animate-response-heading .animate-response-children[data-v-29000e66] {
|
|
600
|
+
animation: response-spans-29000e66 0.2s ease-in-out forwards 0.05s;
|
|
601
601
|
opacity: 0;
|
|
602
602
|
}
|
|
603
|
-
@keyframes response-spans-
|
|
603
|
+
@keyframes response-spans-29000e66 {
|
|
604
604
|
from {
|
|
605
605
|
opacity: 0;
|
|
606
606
|
transform: translateY(4px);
|
|
@@ -628,21 +628,21 @@ to {
|
|
|
628
628
|
background: var(--scalar-background-2);
|
|
629
629
|
}
|
|
630
630
|
|
|
631
|
-
[data-v-
|
|
631
|
+
[data-v-6edfa5a3] .cm-editor {
|
|
632
632
|
height: 100%;
|
|
633
633
|
outline: none;
|
|
634
634
|
width: 100%;
|
|
635
635
|
}
|
|
636
|
-
[data-v-
|
|
636
|
+
[data-v-6edfa5a3] .cm-line {
|
|
637
637
|
padding: 0;
|
|
638
638
|
}
|
|
639
|
-
[data-v-
|
|
639
|
+
[data-v-6edfa5a3] .cm-content {
|
|
640
640
|
padding: 0;
|
|
641
641
|
display: flex;
|
|
642
642
|
align-items: center;
|
|
643
643
|
font-size: var(--scalar-small);
|
|
644
644
|
}
|
|
645
|
-
.scroll-timeline-x[data-v-
|
|
645
|
+
.scroll-timeline-x[data-v-6edfa5a3] {
|
|
646
646
|
-ms-overflow-style: none;
|
|
647
647
|
/* Fade the URL at the viewport edges. Mask lives on the scrollport (this
|
|
648
648
|
element) rather than on `.cm-scroller`, whose width follows the URL's
|
|
@@ -655,31 +655,31 @@ to {
|
|
|
655
655
|
transparent 100%
|
|
656
656
|
);
|
|
657
657
|
}
|
|
658
|
-
.scroll-timeline-x-hidden[data-v-
|
|
658
|
+
.scroll-timeline-x-hidden[data-v-6edfa5a3] {
|
|
659
659
|
overflow-x: auto;
|
|
660
660
|
}
|
|
661
|
-
.scroll-timeline-x-hidden[data-v-
|
|
661
|
+
.scroll-timeline-x-hidden[data-v-6edfa5a3] .cm-scroller {
|
|
662
662
|
scrollbar-width: none;
|
|
663
663
|
-ms-overflow-style: none;
|
|
664
664
|
padding-right: 20px;
|
|
665
665
|
overflow: auto;
|
|
666
666
|
}
|
|
667
|
-
.scroll-timeline-x-hidden[data-v-
|
|
667
|
+
.scroll-timeline-x-hidden[data-v-6edfa5a3]::-webkit-scrollbar {
|
|
668
668
|
width: 0;
|
|
669
669
|
height: 0;
|
|
670
670
|
display: none;
|
|
671
671
|
}
|
|
672
|
-
.scroll-timeline-x-hidden[data-v-
|
|
672
|
+
.scroll-timeline-x-hidden[data-v-6edfa5a3] .cm-scroller::-webkit-scrollbar {
|
|
673
673
|
width: 0;
|
|
674
674
|
height: 0;
|
|
675
675
|
display: none;
|
|
676
676
|
}
|
|
677
|
-
.scroll-timeline-x-address[data-v-
|
|
677
|
+
.scroll-timeline-x-address[data-v-6edfa5a3] {
|
|
678
678
|
line-height: 27px;
|
|
679
679
|
scrollbar-width: none; /* Firefox */
|
|
680
680
|
}
|
|
681
681
|
/* make clickable are to left of send button */
|
|
682
|
-
.scroll-timeline-x-address[data-v-
|
|
682
|
+
.scroll-timeline-x-address[data-v-6edfa5a3]:after {
|
|
683
683
|
content: '';
|
|
684
684
|
position: absolute;
|
|
685
685
|
height: 100%;
|
|
@@ -687,7 +687,7 @@ to {
|
|
|
687
687
|
right: 0;
|
|
688
688
|
cursor: text;
|
|
689
689
|
}
|
|
690
|
-
.address-bar-bg-states[data-v-
|
|
690
|
+
.address-bar-bg-states[data-v-6edfa5a3] {
|
|
691
691
|
--scalar-address-bar-bg: color-mix(
|
|
692
692
|
in srgb,
|
|
693
693
|
var(--scalar-background-1),
|
|
@@ -695,22 +695,22 @@ to {
|
|
|
695
695
|
);
|
|
696
696
|
background: var(--scalar-address-bar-bg);
|
|
697
697
|
}
|
|
698
|
-
.address-bar-bg-states[data-v-
|
|
698
|
+
.address-bar-bg-states[data-v-6edfa5a3]:has(.cm-focused) {
|
|
699
699
|
--scalar-address-bar-bg: var(--scalar-background-1);
|
|
700
700
|
border-color: var(--scalar-border-color);
|
|
701
701
|
outline-width: 1px;
|
|
702
702
|
outline-style: solid;
|
|
703
703
|
}
|
|
704
|
-
.address-bar-bg-states:has(.cm-focused) .fade-left[data-v-
|
|
705
|
-
.address-bar-bg-states:has(.cm-focused) .fade-right[data-v-
|
|
704
|
+
.address-bar-bg-states:has(.cm-focused) .fade-left[data-v-6edfa5a3],
|
|
705
|
+
.address-bar-bg-states:has(.cm-focused) .fade-right[data-v-6edfa5a3] {
|
|
706
706
|
--scalar-address-bar-bg: var(--scalar-background-1);
|
|
707
707
|
}
|
|
708
708
|
|
|
709
|
-
.app-exit-button[data-v-
|
|
709
|
+
.app-exit-button[data-v-6e1ebfa0] {
|
|
710
710
|
color: white;
|
|
711
711
|
background: rgba(0, 0, 0, 0.1);
|
|
712
712
|
}
|
|
713
|
-
.app-exit-button[data-v-
|
|
713
|
+
.app-exit-button[data-v-6e1ebfa0]:hover {
|
|
714
714
|
background: rgba(255, 255, 255, 0.1);
|
|
715
715
|
}
|
|
716
716
|
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
@@ -747,6 +747,47 @@ to {
|
|
|
747
747
|
bottom: 0;
|
|
748
748
|
}
|
|
749
749
|
|
|
750
|
+
/**
|
|
751
|
+
* The wide state is the default variant written out in plain CSS. Spelling it
|
|
752
|
+
* out here rather than reusing the utility classes keeps the narrow state below
|
|
753
|
+
* from having to outrank a utility of the same specificity.
|
|
754
|
+
*/
|
|
755
|
+
.scalar-sidebar-toggle--overlay[data-v-4a35414a] {
|
|
756
|
+
color: var(--scalar-color-3);
|
|
757
|
+
border-radius: var(--scalar-radius-md);
|
|
758
|
+
padding: 8px;
|
|
759
|
+
}
|
|
760
|
+
.scalar-sidebar-toggle--overlay[data-v-4a35414a]:hover {
|
|
761
|
+
background: var(--scalar-background-2);
|
|
762
|
+
}
|
|
763
|
+
.scalar-sidebar-toggle--overlay[data-v-4a35414a]:active {
|
|
764
|
+
color: var(--scalar-color-1);
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
/**
|
|
768
|
+
* Below the `lg` breakpoint (1000px) the toggle moves onto the dimmed backdrop
|
|
769
|
+
* and matches the close button in the opposite corner: white on a translucent
|
|
770
|
+
* fill, in a 36px circle. The padding is literal rather than a utility class so
|
|
771
|
+
* that circle matches that button even when this component is consumed from a
|
|
772
|
+
* build that generates its own utilities.
|
|
773
|
+
*
|
|
774
|
+
* The breakpoint is where the address bar stops being able to centre itself.
|
|
775
|
+
* The bar caps at 768px, so once the panel is narrower than roughly 870px the
|
|
776
|
+
* bar's left edge slides under a toggle sitting inside the panel and clips the
|
|
777
|
+
* method chip. `lg` clears that crossover with room to spare.
|
|
778
|
+
*/
|
|
779
|
+
@media (width < 1000px) {
|
|
780
|
+
.scalar-sidebar-toggle--overlay[data-v-4a35414a] {
|
|
781
|
+
color: white;
|
|
782
|
+
background: rgba(0, 0, 0, 0.1);
|
|
783
|
+
border-radius: var(--scalar-radius-full);
|
|
784
|
+
padding: 10px;
|
|
785
|
+
}
|
|
786
|
+
.scalar-sidebar-toggle--overlay[data-v-4a35414a]:hover {
|
|
787
|
+
background: rgba(255, 255, 255, 0.1);
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
|
|
750
791
|
[data-v-4b7f675d] .code-input-lite__editor {
|
|
751
792
|
background-color: transparent;
|
|
752
793
|
font-family: var(--scalar-font);
|
|
@@ -760,7 +801,7 @@ to {
|
|
|
760
801
|
margin-left: 0.5px;
|
|
761
802
|
}
|
|
762
803
|
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
763
|
-
.scalar .scalar-app-layout[data-v-
|
|
804
|
+
.scalar .scalar-app-layout[data-v-44c68ca5] {
|
|
764
805
|
background: var(--scalar-background-1);
|
|
765
806
|
border: var(--scalar-border-width) solid var(--scalar-border-color);
|
|
766
807
|
border-radius: 8px;
|
|
@@ -772,12 +813,12 @@ to {
|
|
|
772
813
|
overflow: hidden;
|
|
773
814
|
}
|
|
774
815
|
@media (max-width: 720px) and (max-height: 480px) {
|
|
775
|
-
.scalar .scalar-app-layout[data-v-
|
|
816
|
+
.scalar .scalar-app-layout[data-v-44c68ca5] {
|
|
776
817
|
height: 100%;
|
|
777
818
|
max-height: 90svh;
|
|
778
819
|
}
|
|
779
820
|
}
|
|
780
|
-
.scalar .scalar-app-exit[data-v-
|
|
821
|
+
.scalar .scalar-app-exit[data-v-44c68ca5] {
|
|
781
822
|
cursor: pointer;
|
|
782
823
|
z-index: -1;
|
|
783
824
|
background: #00000038;
|
|
@@ -787,10 +828,10 @@ to {
|
|
|
787
828
|
top: 0;
|
|
788
829
|
left: 0;
|
|
789
830
|
}
|
|
790
|
-
.dark-mode .scalar .scalar-app-exit[data-v-
|
|
831
|
+
.dark-mode .scalar .scalar-app-exit[data-v-44c68ca5] {
|
|
791
832
|
background: #00000073;
|
|
792
833
|
}
|
|
793
|
-
.scalar .scalar-app-exit[data-v-
|
|
834
|
+
.scalar .scalar-app-exit[data-v-44c68ca5]:before {
|
|
794
835
|
text-align: center;
|
|
795
836
|
color: #fff;
|
|
796
837
|
opacity: .6;
|
|
@@ -802,10 +843,10 @@ to {
|
|
|
802
843
|
top: 0;
|
|
803
844
|
right: 12px;
|
|
804
845
|
}
|
|
805
|
-
.scalar .scalar-app-exit[data-v-
|
|
846
|
+
.scalar .scalar-app-exit[data-v-44c68ca5]:hover:before {
|
|
806
847
|
opacity: 1;
|
|
807
848
|
}
|
|
808
|
-
.scalar-container[data-v-
|
|
849
|
+
.scalar-container[data-v-44c68ca5] {
|
|
809
850
|
visibility: hidden;
|
|
810
851
|
opacity: 0;
|
|
811
852
|
pointer-events: none;
|
|
@@ -822,16 +863,16 @@ to {
|
|
|
822
863
|
left: 0;
|
|
823
864
|
overflow: hidden;
|
|
824
865
|
}
|
|
825
|
-
.scalar-container.scalar-client--open[data-v-
|
|
866
|
+
.scalar-container.scalar-client--open[data-v-44c68ca5] {
|
|
826
867
|
opacity: 1;
|
|
827
868
|
visibility: visible;
|
|
828
869
|
pointer-events: auto;
|
|
829
870
|
transition: opacity .35s;
|
|
830
871
|
}
|
|
831
|
-
.scalar .url-form-input[data-v-
|
|
872
|
+
.scalar .url-form-input[data-v-44c68ca5] {
|
|
832
873
|
min-height: auto !important;
|
|
833
874
|
}
|
|
834
|
-
.scalar .scalar-container[data-v-
|
|
875
|
+
.scalar .scalar-container[data-v-44c68ca5] {
|
|
835
876
|
line-height: normal;
|
|
836
877
|
}
|
|
837
878
|
|