From f5066d0eb3d42d953690ee00e76e00ed4cd47db6 Mon Sep 17 00:00:00 2001 From: marclave Date: Sat, 23 Nov 2024 19:33:52 -0500 Subject: [PATCH] feat: add scalar elysia theme --- bun.lockb | Bin 93212 -> 94738 bytes package.json | 137 ++++++++++++++++--------------- src/index.ts | 5 +- src/scalar/index.ts | 4 +- src/scalar/theme.ts | 196 -------------------------------------------- 5 files changed, 75 insertions(+), 267 deletions(-) delete mode 100644 src/scalar/theme.ts diff --git a/bun.lockb b/bun.lockb index fbb6b378e4b96618afcd4ffbf9d95a1a957f603f..68dbb01ae539f84fb8dcaccbb4657e348b0ab34b 100755 GIT binary patch delta 17234 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 L?@xiO^ML;cI2oq+ delta 16521 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 1.1.0" - }, - "devDependencies": { - "@apidevtools/swagger-parser": "^10.1.0", - "@types/bun": "1.1.6", - "elysia": "1.1.18", - "eslint": "9.6.0", - "tsup": "^8.1.0", - "typescript": "^5.5.3" - }, - "dependencies": { - "@scalar/types": "^0.0.12", - "openapi-types": "^12.1.3", - "pathe": "^1.1.2" + "./scalar/theme": { + "types": "./dist/scalar/theme.d.ts", + "import": "./dist/scalar/theme.mjs", + "require": "./dist/cjs/scalar/theme.js" } + }, + "keywords": [ + "elysia", + "swagger" + ], + "homepage": "https://github.com/elysiajs/elysia-swagger", + "repository": { + "type": "git", + "url": "https://github.com/elysiajs/elysia-swagger" + }, + "bugs": "https://github.com/elysiajs/elysia-swagger/issues", + "license": "MIT", + "scripts": { + "dev": "bun run --watch example/index.ts", + "test": "bun test && npm run test:node", + "test:node": "npm install --prefix ./test/node/cjs/ && npm install --prefix ./test/node/esm/ && node ./test/node/cjs/index.js && node ./test/node/esm/index.js", + "build": "bun build.ts", + "release": "npm run build && npm run test && npm publish --access public" + }, + "peerDependencies": { + "elysia": ">= 1.1.0" + }, + "devDependencies": { + "@apidevtools/swagger-parser": "^10.1.0", + "@types/bun": "1.1.6", + "elysia": "1.1.18", + "eslint": "9.6.0", + "tsup": "^8.1.0", + "typescript": "^5.5.3" + }, + "dependencies": { + "@scalar/themes": "^0.9.52", + "@scalar/types": "^0.0.12", + "openapi-types": "^12.1.3", + "pathe": "^1.1.2" + } } diff --git a/src/index.ts b/src/index.ts index 2a1a284..621270e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -85,7 +85,10 @@ export const swagger = async ( ...scalarConfig.spec, url: `/${relativePath}/json` }, - ...scalarConfig + ...scalarConfig, + // so we can showcase the elysia theme + // @ts-expect-error + _integration: 'elysiajs' } return new Response( diff --git a/src/scalar/index.ts b/src/scalar/index.ts index 91d1600..883ea66 100644 --- a/src/scalar/index.ts +++ b/src/scalar/index.ts @@ -1,4 +1,4 @@ -import scalarElysiaTheme from './theme' +import { elysiajsTheme } from '@scalar/themes' import type { OpenAPIV3 } from 'openapi-types' import type { ReferenceConfiguration } from '@scalar/types' @@ -29,7 +29,7 @@ export const ScalarRender = ( } diff --git a/src/scalar/theme.ts b/src/scalar/theme.ts deleted file mode 100644 index 7cb59d1..0000000 --- a/src/scalar/theme.ts +++ /dev/null @@ -1,196 +0,0 @@ -export default ` -/* basic theme */ -.light-mode { - --theme-color-1: #2a2f45; - --theme-color-2: #757575; - --theme-color-3: #8e8e8e; - --theme-color-accent: #f06292; - - --theme-background-1: #fff; - --theme-background-2: #f6f6f6; - --theme-background-3: #e7e7e7; - --theme-background-accent: #f062921f; - - --theme-border-color: rgba(0, 0, 0, 0.1); -} -.dark-mode { - --theme-color-1: rgba(255, 255, 255, 0.9); - --theme-color-2: rgba(156, 163, 175, 1); - --theme-color-3: rgba(255, 255, 255, 0.44); - --theme-color-accent: #f06292; - - --theme-background-1: #111728; - --theme-background-2: #1e293b; - --theme-background-3: #334155; - --theme-background-accent: #f062921f; - - --theme-border-color: rgba(255, 255, 255, 0.1); -} -/* Document Sidebar */ -.light-mode .sidebar, -.dark-mode .sidebar { - --sidebar-background-1: var(--theme-background-1); - --sidebar-item-hover-color: currentColor; - --sidebar-item-hover-background: var(--theme-background-2); - --sidebar-item-active-background: var(--theme-background-accent); - --sidebar-border-color: transparent; - --sidebar-color-1: var(--theme-color-1); - --sidebar-color-2: var(--theme-color-2); - --sidebar-color-active: var(--theme-color-accent); - --sidebar-search-background: transparent; - --sidebar-search-border-color: var(--theme-border-color); - --sidebar-search--color: var(--theme-color-3); -} -/* Document header only shows on mobile*/ -.dark-mode .t-doc__header, -.light-mode .t-doc__header { - --header-background-1: rgba(255, 255, 255, 0.85); - --header-border-color: transparent; - --header-color-1: var(--theme-color-1); - --header-color-2: var(--theme-color-2); - --header-background-toggle: var(--theme-color-3); - --header-call-to-action-color: var(--theme-color-accent); -} - -.dark-mode .t-doc__header { - --header-background-1: rgba(17, 23, 40, 0.75); -} - -/* advanced */ -.light-mode { - --theme-button-1: rgb(49 53 56); - --theme-button-1-color: #fff; - --theme-button-1-hover: rgb(28 31 33); - - --theme-color-green: #069061; - --theme-color-red: #ef0006; - --theme-color-yellow: #edbe20; - --theme-color-blue: #0082d0; - --theme-color-orange: #fb892c; - --theme-color-purple: #5203d1; - - --theme-scrollbar-color: rgba(0, 0, 0, 0.18); - --theme-scrollbar-color-active: rgba(0, 0, 0, 0.36); -} -.dark-mode { - --theme-button-1: #f6f6f6; - --theme-button-1-color: #000; - --theme-button-1-hover: #e7e7e7; - - --theme-color-green: #a3ffa9; - --theme-color-red: #ffa3a3; - --theme-color-yellow: #fffca3; - --theme-color-blue: #a5d6ff; - --theme-color-orange: #e2ae83; - --theme-color-purple: #d2a8ff; - - --theme-scrollbar-color: rgba(255, 255, 255, 0.24); - --theme-scrollbar-color-active: rgba(255, 255, 255, 0.48); -} -/* Elysia Specific */ -.scalar-api-client__send-request-button, -.show-api-client-button { - background: #3c82f6 !important; -} -.show-api-client-button:before { - display: none; -} - -.sidebar-search:hover { - transition: all 0.15s ease-in-out; - --sidebar-search-border-color: var(--theme-color-accent) !important; - color: var(--sidebar-color-1) !important; -} -.scalar-api-client__container .sidebar { - --sidebar-border-color: var(--theme-border-color); -} -@media (min-width: 1150px) { - .section-container:has( ~ .footer):before, - .tag-section-container:before { - content: ""; - position: absolute; - top: -5px; - left: 0; - width: 100%; - height: 10px; - background: linear-gradient(90deg, var(--theme-background-1) 3%,transparent 10%); - } -} -.section-flare { - position: absolute; - width: 100vw; - height: 300px; - --stripes: repeating-linear-gradient( - 100deg, - #fff 0%, - #fff 7%, - transparent 10%, - transparent 12%, - #fff 16% - ); - --stripesDark: repeating-linear-gradient( - 100deg, - #000 0%, - #000 7%, - transparent 10%, - transparent 12%, - #000 16% - ); - --rainbow: repeating-linear-gradient( - 100deg, - #60a5fa 10%, - #e879f9 16%, - #5eead4 22%, - #60a5fa 30% - ); - background-image: var(--stripes), var(--rainbow); - background-size: 300%, 200%; - background-position: 50% 50%, 50% 50%; - filter: invert(100%); - -webkit-mask-image: radial-gradient( - ellipse at 100% 0%, - black 40%, - transparent 70% - ); - mask-image: radial-gradient(ellipse at 100% 0%, black 40%, transparent 70%); - pointer-events: none; - opacity: 0.15; -} -.dark-mode .section-flare { - background-image: var(--stripesDark), var(--rainbow); - filter: opacity(50%) saturate(200%); - opacity: 0.25; -} -.section-flare:after { - content: ""; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background-image: var(--stripes), var(--rainbow); - background-size: 200%, 100%; - background-attachment: fixed; - mix-blend-mode: difference; -} -.dark-mode .section-flare:after { - background-image: var(--stripesDark), var(--rainbow); -} -@keyframes headerbackground { - from { - background: transparent; - backdrop-filter: none; - } - to { - background: var(--header-background-1); - backdrop-filter: blur(12px); - } -} -.light-mode .t-doc__header, -.dark-mode .t-doc__header { - animation: headerbackground forwards; - animation-timeline: scroll(); - animation-range: 0px 200px; - --header-border-color: transparent; -} -` \ No newline at end of file