diff --git a/packages/website-astro/astro.config.mjs b/packages/website-astro/astro.config.mjs index 0b5a8be6e8..2174f04ee5 100644 --- a/packages/website-astro/astro.config.mjs +++ b/packages/website-astro/astro.config.mjs @@ -9,6 +9,8 @@ import rehypeMermaid from "rehype-mermaid"; import remarkHeadingID from "remark-heading-id"; import { resolveSideBars } from "./sidebars"; +import tailwind from "@astrojs/tailwind"; + const base = process.env.TYPESPEC_WEBSITE_BASE_PATH ?? "/"; const grammarPath = resolve(import.meta.dirname, "../../grammars/typespec.json"); @@ -56,6 +58,7 @@ export default defineConfig({ plugins: [], }), react(), + tailwind({ applyBaseStyles: false }), ], markdown: { // @ts-expect-error wrong type diff --git a/packages/website-astro/package.json b/packages/website-astro/package.json index b3137b1ea9..83b628d0d2 100644 --- a/packages/website-astro/package.json +++ b/packages/website-astro/package.json @@ -20,6 +20,8 @@ "@astrojs/check": "^0.9.4", "@astrojs/react": "^3.6.2", "@astrojs/starlight": "^0.28.3", + "@astrojs/starlight-tailwind": "^2.0.3", + "@astrojs/tailwind": "^5.1.2", "@docsearch/css": "^3.6.2", "@docsearch/js": "^3.6.2", "@expressive-code/core": "^0.35.6", @@ -35,6 +37,7 @@ "react": "~18.3.1", "react-dom": "~18.3.1", "sharp": "^0.33.5", + "tailwindcss": "^3.4.14", "typescript": "~5.6.3" }, "devDependencies": { diff --git a/packages/website-astro/src/components/editor-tabs.astro b/packages/website-astro/src/components/editor-tabs.astro new file mode 100644 index 0000000000..6675bc2ee1 --- /dev/null +++ b/packages/website-astro/src/components/editor-tabs.astro @@ -0,0 +1,36 @@ +--- +import { Tabs } from "@astrojs/starlight/components"; +--- + + +
+ + + +
diff --git a/packages/website-astro/src/components/fluent-img.astro b/packages/website-astro/src/components/fluent-img.astro index 55d39612c1..149e6063eb 100644 --- a/packages/website-astro/src/components/fluent-img.astro +++ b/packages/website-astro/src/components/fluent-img.astro @@ -7,7 +7,7 @@ export interface Props extends HTMLAttributes<"img"> { name: FluentImageName; } -const { name, alt, ...rest } = Astro.props; +const { name, class: cls, alt, ...rest } = Astro.props; const srcLight = baseUrl(`/img/fluent/${name}-l-standard-128x128.png`); const srcDark = baseUrl(`/img/fluent/${name}-d-standard-128x128.png`); --- @@ -21,5 +21,5 @@ const srcDark = baseUrl(`/img/fluent/${name}-d-standard-128x128.png`); } -{alt -{alt +{alt +{alt diff --git a/packages/website-astro/src/components/header/header.astro b/packages/website-astro/src/components/header/header.astro index b7dd79ad3b..ebc03280e3 100644 --- a/packages/website-astro/src/components/header/header.astro +++ b/packages/website-astro/src/components/header/header.astro @@ -1,6 +1,5 @@ --- import ThemePicker from "../theme-picker.astro"; -import { HeaderMenu } from "./menu"; import Link from "./link.astro"; import { Icon } from "@astrojs/starlight/components"; import Search from "./search.astro"; @@ -9,120 +8,230 @@ import Search from "./search.astro"; + + diff --git a/packages/website-astro/src/components/header/menu.tsx b/packages/website-astro/src/components/header/menu.tsx deleted file mode 100644 index 4794295ecd..0000000000 --- a/packages/website-astro/src/components/header/menu.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { Menu, MenuItemLink, MenuList, MenuPopover, MenuTrigger } from "@fluentui/react-components"; -import { link } from "@site/src/utils"; -import type { ReactNode } from "react"; - -export interface HeaderMenuProps { - className?: string; - children: ReactNode; - links: { label: string; to: string }[]; -} - -export const HeaderMenu = ({ children, className, links }: HeaderMenuProps) => { - return ( - - - {children} - - - - - {links.map((item) => ( - - {item.label} - - ))} - - - - ); -}; diff --git a/packages/website-astro/src/components/homepage/data-validation-hero-illustration.astro b/packages/website-astro/src/components/homepage/data-validation-hero-illustration.astro index 03e0f67ed8..c1cbdea91d 100644 --- a/packages/website-astro/src/components/homepage/data-validation-hero-illustration.astro +++ b/packages/website-astro/src/components/homepage/data-validation-hero-illustration.astro @@ -1,20 +1,18 @@ --- import commonLibSharedTsp from "@site/src/assets/tsp-samples/data-validation/common-lib/common.tsp?raw"; import commonLibMainTsp from "@site/src/assets/tsp-samples/data-validation/common-lib/main.tsp?raw"; -import IllustrationCard from "../illustration-card.astro"; import { Code } from "@astrojs/starlight/components"; -import { Tabs, TabItem } from "@astrojs/starlight/components"; +import { TabItem } from "@astrojs/starlight/components"; +import EditorTabs from "../editor-tabs.astro"; --- - - - + + + + + +
- - -
- -
-
- - +
+
+
diff --git a/packages/website-astro/src/components/homepage/openapi3-hero-illustration.astro b/packages/website-astro/src/components/homepage/openapi3-hero-illustration.astro index dd240d4e0a..f70f82aa30 100644 --- a/packages/website-astro/src/components/homepage/openapi3-hero-illustration.astro +++ b/packages/website-astro/src/components/homepage/openapi3-hero-illustration.astro @@ -1,9 +1,9 @@ --- import heroMainTsp from "@site/src/assets/tsp-samples/openapi3/hero/main.tsp?raw"; import heroOpenAPIYaml from "@site/src/assets/tsp-samples/openapi3/hero/out/openapi.yaml?raw"; -import IllustrationCard from "../illustration-card.astro"; import { Code } from "@astrojs/starlight/components"; -import { Tabs, TabItem } from "@astrojs/starlight/components"; +import { TabItem } from "@astrojs/starlight/components"; +import EditorTabs from "../editor-tabs.astro"; --- - - - -
- -
-
- -
- -
-
-
-
+ + +
+ +
+
+ +
+ +
+
+
diff --git a/packages/website-astro/src/components/homepage/overview-illustration-terminal-content.tsx b/packages/website-astro/src/components/homepage/overview-illustration-terminal-content.tsx index 05df71b55e..458007e5f6 100644 --- a/packages/website-astro/src/components/homepage/overview-illustration-terminal-content.tsx +++ b/packages/website-astro/src/components/homepage/overview-illustration-terminal-content.tsx @@ -1,12 +1,14 @@ import { P } from "../painter/painter"; export const OverviewIllustrationTerminalContent = () => { - <> - {P.line(P.secondary("~ /my-project"), " tsp init")} - {P.line(" ")} - {P.brand("? ")} - {"Select a template"} - {P.line(" Empty project")} - {P.line(P.brand("> "), P.brand.underline("REST API"))} - ; + return ( + <> + {P.line(P.secondary("~ /my-project"), " tsp init")} + {P.line(" ")} + {P.brand("? ")} + {"Select a template"} + {P.line(" Empty project")} + {P.line(P.brand("> "), P.brand.underline("REST API"))} + + ); }; diff --git a/packages/website-astro/src/components/homepage/overview-illustration.astro b/packages/website-astro/src/components/homepage/overview-illustration.astro index 883c9b1179..a7db55bebb 100644 --- a/packages/website-astro/src/components/homepage/overview-illustration.astro +++ b/packages/website-astro/src/components/homepage/overview-illustration.astro @@ -28,9 +28,7 @@ import { OverviewIllustrationTerminalContent } from "./overview-illustration-ter } - - - + diff --git a/packages/website-astro/src/components/section.astro b/packages/website-astro/src/components/section.astro index eae5a21e5e..ca0d93d398 100644 --- a/packages/website-astro/src/components/section.astro +++ b/packages/website-astro/src/components/section.astro @@ -32,11 +32,11 @@ const { layout, header, title, description, illustration } = Astro.props; gap: 3vw; } - .text-left { + .prose-left { flex-direction: row; } - .text-right { + .prose-right { flex-direction: row-reverse; } } @@ -109,34 +109,9 @@ const { layout, header, title, description, illustration } = Astro.props; display: flex; gap: 12px; } - - .items-list-card .item-image { - width: 52px; - height: 52px; - max-width: 52px; - } - - .items-list-plain { - gap: 40px; - } - - .items-list-card { - gap: 12px; - } - - .items-list-plain .item-image { - width: 64px; - height: 64px; - max-width: 64px; - } - .item-content { - display: flex; - flex-direction: column; - gap: 12px; - } -
+
{ diff --git a/packages/website-astro/src/components/starlight-overrides/PageFrame.astro b/packages/website-astro/src/components/starlight-overrides/PageFrame.astro index f6f03c4e8f..1b741f6744 100644 --- a/packages/website-astro/src/components/starlight-overrides/PageFrame.astro +++ b/packages/website-astro/src/components/starlight-overrides/PageFrame.astro @@ -7,16 +7,21 @@ import type { Props } from "@astrojs/starlight/props";
- diff --git a/packages/website-astro/src/components/terminal.astro b/packages/website-astro/src/components/terminal.astro index 9499a48e7d..d6baa0ea86 100644 --- a/packages/website-astro/src/components/terminal.astro +++ b/packages/website-astro/src/components/terminal.astro @@ -9,6 +9,7 @@ const { class: cls, ...rest } = Astro.props; background-color: var(--window-color); margin: 0; height: 100%; + padding: 1rem; } :global([data-theme="light"]) .terminal { @@ -20,7 +21,5 @@ const { class: cls, ...rest } = Astro.props; -
-    
-  
+
diff --git a/packages/website-astro/src/components/theme-picker.astro b/packages/website-astro/src/components/theme-picker.astro index 69e2747c3e..bf9533d5e3 100644 --- a/packages/website-astro/src/components/theme-picker.astro +++ b/packages/website-astro/src/components/theme-picker.astro @@ -8,6 +8,7 @@ import { Icon } from "@astrojs/starlight/components"; cursor: pointer; align-items: flex-start; padding: 4px 6px; + width: 56px; gap: 6px; border: 1px solid var(--colorNeutralStroke1); border-radius: 70px; diff --git a/packages/website-astro/src/css/custom.css b/packages/website-astro/src/css/custom.css index 7beda84605..5c924604bf 100644 --- a/packages/website-astro/src/css/custom.css +++ b/packages/website-astro/src/css/custom.css @@ -1,5 +1,9 @@ @import url("./fluentui.css"); +@tailwind base; +@tailwind components; +@tailwind utilities; + :root { --header-height: 50px; --sl-color-text-accent: var(--colorBrandForeground1); @@ -33,3 +37,8 @@ header.header { padding: 0; padding-inline-end: unset !important; } + +/* Algolia docsearch tweaks */ +.DocSearch-Container { + z-index: 1000 !important; +} diff --git a/packages/website-astro/src/layouts/base-layout.astro b/packages/website-astro/src/layouts/base-layout.astro index 53bf4f7dd1..d95e07de7c 100644 --- a/packages/website-astro/src/layouts/base-layout.astro +++ b/packages/website-astro/src/layouts/base-layout.astro @@ -45,7 +45,7 @@ const { footer = true } = Astro.props; .header { position: fixed; width: 100vw; - z-index: 1000; + z-index: 500; } .footer { flex: 0 0 auto; diff --git a/packages/website-astro/src/pages/data-validation.astro b/packages/website-astro/src/pages/data-validation.astro index 4edced7ca8..708ba56d75 100644 --- a/packages/website-astro/src/pages/data-validation.astro +++ b/packages/website-astro/src/pages/data-validation.astro @@ -5,8 +5,6 @@ import Section from "../components/section.astro"; import SectionedLayout from "../components/sectioned-layout.astro"; import UseCaseOverview from "../components/use-case-overview.astro"; import { Links } from "../constants"; -import commonLibSharedTsp from "@site/src/assets/tsp-samples/data-validation/common-lib/common.tsp?raw"; -import commonLibMainTsp from "@site/src/assets/tsp-samples/data-validation/common-lib/main.tsp?raw"; import multiFileTsp from "@site/src/assets/tsp-samples/json-schema/multi-file/main.tsp?raw"; import multiFileAddress from "@site/src/assets/tsp-samples/json-schema/multi-file/out/Address.yaml?raw"; import multiFileCar from "@site/src/assets/tsp-samples/json-schema/multi-file/out/Car.yaml?raw"; @@ -16,7 +14,10 @@ import extensionsYaml from "@site/src/assets/tsp-samples/json-schema/extensions/ import { Code, TabItem, Tabs } from "@astrojs/starlight/components"; import validationDecoratorsTsp from "@site/src/assets/tsp-samples/data-validation/validation-decorators.tsp?raw"; import IllustrationCard from "../components/illustration-card.astro"; +import DataValidationHeroIllustration from "../components/homepage/data-validation-hero-illustration.astro"; +import EditorTabs from "../components/editor-tabs.astro"; --- + - - - - - - - - - - +
- - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + - +
=10'} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -2299,11 +2312,24 @@ packages: '@astrojs/sitemap@3.2.0': resolution: {integrity: sha512-SkrOCL3Z6HxdiXreZ1+aPBWgnBMJ31EgPdcscgQeLqI2Gqk/4EKLuw9q0SqKU9MmHpcPXXtcd0odfCk4barPoA==} + '@astrojs/starlight-tailwind@2.0.3': + resolution: {integrity: sha512-ZwbdXS/9rxYlo3tKZoTZoBPUnaaqek02b341dHwOkmMT0lIR2w+8k0mRUGxnRaYtPdMcaL+nYFd8RUa8sjdyRg==} + peerDependencies: + '@astrojs/starlight': '>=0.9.0' + '@astrojs/tailwind': ^5.0.0 + tailwindcss: ^3.3.3 + '@astrojs/starlight@0.28.3': resolution: {integrity: sha512-GXXIPKSu5d50mLVtgI4jf6pb3FPQm8n4MI6ZXuQQqqnA0xg7PJQ76WFSVyrICeqM5fKABSqcBksp/glyEJes/A==} peerDependencies: astro: ^4.14.0 + '@astrojs/tailwind@5.1.2': + resolution: {integrity: sha512-IvOF0W/dtHElcXvhrPR35nHmhyV3cfz1EzPitMGtU7sYy9Hci3BNK1To6FWmVuuNKPxza1IgCGetSynJZL7fOg==} + peerDependencies: + astro: ^3.0.0 || ^4.0.0 || ^5.0.0-beta.0 + tailwindcss: ^3.0.24 + '@astrojs/telemetry@3.1.0': resolution: {integrity: sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==} engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} @@ -6587,6 +6613,9 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -6708,6 +6737,13 @@ packages: peerDependencies: postcss: ^8.1.0 + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + autorest@3.7.1: resolution: {integrity: sha512-6q17NtosQZPqBkIOUnaOPedf3PDIBF7Ha1iEGRhTqZF6TG2Q/1E3ID/D+ePIIzZDKvW01p/2pENq/oiBWH9IGQ==} engines: {node: '>=12.0.0'} @@ -6879,11 +6915,6 @@ packages: browserify-zlib@0.1.4: resolution: {integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==} - browserslist@4.23.2: - resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - browserslist@4.24.0: resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -6967,6 +6998,10 @@ packages: camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} engines: {node: '>=8'} @@ -6994,9 +7029,6 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001643: - resolution: {integrity: sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==} - caniuse-lite@1.0.30001666: resolution: {integrity: sha512-gD14ICmoV5ZZM1OdzPWmpx+q4GyefaK06zi8hmfHV5xe4/2nOQX3+Dw5o+fSqOws2xVwL9j+anOPFwHzdEdV4g==} @@ -7243,6 +7275,10 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + commander@5.1.0: resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} engines: {node: '>= 6'} @@ -7940,6 +7976,9 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} @@ -8055,9 +8094,6 @@ packages: effect@3.6.5: resolution: {integrity: sha512-NhopZTAKljaAlR0CEroOAJJngdqg7bzlnWcDrCwh4d2WNVohVbBtUS4SGqLt8tUy7IFsTWATYiUtmhDG+YELjA==} - electron-to-chromium@1.4.832: - resolution: {integrity: sha512-cTen3SB0H2SGU7x467NRe1eVcQgcuS6jckKfWJHia2eo0cHIGOqHoAxevIYZD4eRHcWjkvFzo93bi3vJ9W+1lA==} - electron-to-chromium@1.5.31: resolution: {integrity: sha512-QcDoBbQeYt0+3CWcK/rEbuHvwpbT/8SV9T3OSgs6cX1FlcUAkgrkqbg9zLnDrMM/rLamzQwal4LYFCiWk861Tg==} @@ -9870,6 +9906,10 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + lilconfig@3.1.1: resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} engines: {node: '>=14'} @@ -10565,6 +10605,9 @@ packages: mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -10633,9 +10676,6 @@ packages: engines: {node: ^16.14.0 || >=18.0.0} hasBin: true - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} @@ -10729,6 +10769,10 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} @@ -11071,6 +11115,10 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -11183,6 +11231,30 @@ packages: peerDependencies: postcss: ^8.4.31 + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + postcss-loader@7.3.4: resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} engines: {node: '>= 14.15.0'} @@ -11697,6 +11769,9 @@ packages: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-ini-file@4.0.0: resolution: {integrity: sha512-zz4qv/sKETv7nAkATqSJ9YMbKD8NXRPuA8d17VdYCuNYrVstB1S6UAMU6aytf5vRa9MESbZN7jLZdcmrOxz4gg==} engines: {node: '>=14.6'} @@ -12497,6 +12572,11 @@ packages: stylis@4.3.1: resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -12548,6 +12628,11 @@ packages: tabster@8.2.0: resolution: {integrity: sha512-Gvplk/Yl/12aVFA6FPOqGcq31Qv8hbPfYO0N+6IxrRgRT6eSLsipT6gkZBYjyOwGsp6BD5XlZAuJgupfG/GHoA==} + tailwindcss@3.4.14: + resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==} + engines: {node: '>=14.0.0'} + hasBin: true + tapable@1.1.3: resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} engines: {node: '>=6'} @@ -12622,6 +12707,13 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} @@ -12730,6 +12822,9 @@ packages: resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} engines: {node: '>=6.10'} + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + ts-node@10.9.2: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true @@ -13026,12 +13121,6 @@ packages: resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} engines: {node: '>=14.0.0'} - update-browserslist-db@1.1.0: - resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - update-browserslist-db@1.1.1: resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true @@ -13931,6 +14020,8 @@ snapshots: '@algolia/logger-common': 4.23.2 '@algolia/requester-common': 4.23.2 + '@alloc/quick-lru@5.2.0': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -14050,6 +14141,12 @@ snapshots: stream-replace-string: 2.0.0 zod: 3.23.8 + '@astrojs/starlight-tailwind@2.0.3(@astrojs/starlight@0.28.3(astro@4.16.5(@types/node@22.7.5)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.3)))(@astrojs/tailwind@5.1.2(astro@4.16.5(@types/node@22.7.5)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.3))(tailwindcss@3.4.14(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.3)))(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.3)))(tailwindcss@3.4.14(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.3)))': + dependencies: + '@astrojs/starlight': 0.28.3(astro@4.16.5(@types/node@22.7.5)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.3)) + '@astrojs/tailwind': 5.1.2(astro@4.16.5(@types/node@22.7.5)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.3))(tailwindcss@3.4.14(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.3)))(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.3)) + tailwindcss: 3.4.14(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.3)) + '@astrojs/starlight@0.28.3(astro@4.16.5(@types/node@22.7.5)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.3))': dependencies: '@astrojs/mdx': 3.1.8(astro@4.16.5(@types/node@22.7.5)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.3)) @@ -14078,6 +14175,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@astrojs/tailwind@5.1.2(astro@4.16.5(@types/node@22.7.5)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.3))(tailwindcss@3.4.14(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.3)))(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.3))': + dependencies: + astro: 4.16.5(@types/node@22.7.5)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.3) + autoprefixer: 10.4.20(postcss@8.4.47) + postcss: 8.4.47 + postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.3)) + tailwindcss: 3.4.14(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.3)) + transitivePeerDependencies: + - ts-node + '@astrojs/telemetry@3.1.0': dependencies: ci-info: 4.0.0 @@ -20231,6 +20338,8 @@ snapshots: ansi-styles@6.2.1: {} + any-promise@1.3.0: {} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -20425,8 +20534,8 @@ snapshots: autoprefixer@10.4.19(postcss@8.4.39): dependencies: - browserslist: 4.23.2 - caniuse-lite: 1.0.30001643 + browserslist: 4.24.0 + caniuse-lite: 1.0.30001666 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.0 @@ -20435,8 +20544,18 @@ snapshots: autoprefixer@10.4.19(postcss@8.4.47): dependencies: - browserslist: 4.23.2 - caniuse-lite: 1.0.30001643 + browserslist: 4.24.0 + caniuse-lite: 1.0.30001666 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.0 + postcss: 8.4.47 + postcss-value-parser: 4.2.0 + + autoprefixer@10.4.20(postcss@8.4.47): + dependencies: + browserslist: 4.24.0 + caniuse-lite: 1.0.30001666 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.0 @@ -20673,13 +20792,6 @@ snapshots: dependencies: pako: 0.2.9 - browserslist@4.23.2: - dependencies: - caniuse-lite: 1.0.30001643 - electron-to-chromium: 1.4.832 - node-releases: 2.0.14 - update-browserslist-db: 1.1.0(browserslist@4.23.2) - browserslist@4.24.0: dependencies: caniuse-lite: 1.0.30001666 @@ -20782,6 +20894,8 @@ snapshots: pascal-case: 3.1.2 tslib: 2.7.0 + camelcase-css@2.0.1: {} + camelcase-keys@6.2.2: dependencies: camelcase: 5.3.1 @@ -20807,8 +20921,6 @@ snapshots: lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001643: {} - caniuse-lite@1.0.30001666: {} ccount@2.0.1: {} @@ -21063,6 +21175,8 @@ snapshots: commander@2.20.3: {} + commander@4.1.1: {} + commander@5.1.0: {} commander@6.2.1: {} @@ -21180,7 +21294,7 @@ snapshots: core-js-compat@3.37.1: dependencies: - browserslist: 4.23.2 + browserslist: 4.24.0 core-js-compat@3.38.1: dependencies: @@ -21922,6 +22036,8 @@ snapshots: dependencies: dequal: 2.0.3 + didyoumean@1.2.2: {} + diff@4.0.2: {} diff@5.2.0: {} @@ -22059,8 +22175,6 @@ snapshots: effect@3.6.5: {} - electron-to-chromium@1.4.832: {} - electron-to-chromium@1.5.31: {} elkjs@0.9.2: {} @@ -24269,6 +24383,8 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lilconfig@2.1.0: {} + lilconfig@3.1.1: {} lines-and-columns@1.2.4: {} @@ -25393,6 +25509,12 @@ snapshots: mute-stream@0.0.8: {} + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + nanoid@3.3.7: {} napi-build-utils@1.0.2: @@ -25469,8 +25591,6 @@ snapshots: transitivePeerDependencies: - supports-color - node-releases@2.0.14: {} - node-releases@2.0.18: {} non-layered-tidy-tree-layout@2.0.2: {} @@ -25573,6 +25693,8 @@ snapshots: object-assign@4.1.1: {} + object-hash@3.0.0: {} + object-inspect@1.13.1: {} object-is@1.1.6: @@ -25966,6 +26088,8 @@ snapshots: picomatch@4.0.2: {} + pify@2.3.0: {} + pify@4.0.1: {} pirates@4.0.6: {} @@ -26100,6 +26224,26 @@ snapshots: postcss: 8.4.47 postcss-selector-parser: 6.1.2 + postcss-import@15.1.0(postcss@8.4.47): + dependencies: + postcss: 8.4.47 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + + postcss-js@4.0.1(postcss@8.4.47): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.47 + + postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.3)): + dependencies: + lilconfig: 3.1.1 + yaml: 2.5.1 + optionalDependencies: + postcss: 8.4.47 + ts-node: 10.9.2(@swc/core@1.7.35)(@types/node@22.7.5)(typescript@5.6.3) + postcss-loader@7.3.4(postcss@8.4.39)(typescript@5.6.3)(webpack@5.91.0(@swc/core@1.7.35(@swc/helpers@0.5.13))): dependencies: cosmiconfig: 8.3.6(typescript@5.6.3) @@ -26594,7 +26738,7 @@ snapshots: dependencies: '@babel/code-frame': 7.25.7 address: 1.2.2 - browserslist: 4.23.2 + browserslist: 4.24.0 chalk: 4.1.2 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 @@ -26750,6 +26894,10 @@ snapshots: dependencies: loose-envify: 1.4.0 + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + read-ini-file@4.0.0: dependencies: ini: 3.0.1 @@ -27764,6 +27912,16 @@ snapshots: stylis@4.3.1: {} + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.4.2 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -27840,6 +27998,33 @@ snapshots: keyborg: 2.6.0 tslib: 2.7.0 + tailwindcss@3.4.14(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.3)): + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.0 + lilconfig: 2.1.0 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.0 + postcss: 8.4.47 + postcss-import: 15.1.0(postcss@8.4.47) + postcss-js: 4.0.1(postcss@8.4.47) + postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.6.3)) + postcss-nested: 6.2.0(postcss@8.4.47) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + tapable@1.1.3: {} tapable@2.2.1: {} @@ -27934,6 +28119,14 @@ snapshots: text-table@0.2.0: {} + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + through2@2.0.5: dependencies: readable-stream: 2.3.8 @@ -28021,6 +28214,8 @@ snapshots: ts-dedent@2.2.0: {} + ts-interface-checker@0.1.13: {} + ts-node@10.9.2(@swc/core@1.7.35)(@types/node@22.7.5)(typescript@5.6.3): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -28330,12 +28525,6 @@ snapshots: webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 - update-browserslist-db@1.1.0(browserslist@4.23.2): - dependencies: - browserslist: 4.23.2 - escalade: 3.1.2 - picocolors: 1.1.0 - update-browserslist-db@1.1.1(browserslist@4.24.0): dependencies: browserslist: 4.24.0 @@ -28829,7 +29018,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.12.1 acorn-import-assertions: 1.9.0(acorn@8.12.1) - browserslist: 4.23.2 + browserslist: 4.24.0 chrome-trace-event: 1.0.3 enhanced-resolve: 5.16.0 es-module-lexer: 1.5.0