@stainless-api/docs 0.1.0-beta.13 → 0.1.0-beta.131
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 +1110 -0
- package/ambient.d.ts +6 -0
- package/eslint-suppressions.json +90 -0
- package/{eslint.config.js → eslint.config.ts} +0 -2
- package/locals.d.ts +17 -0
- package/package.json +62 -44
- package/playground-virtual-modules.d.ts +96 -0
- package/plugin/assets/languages/cli.svg +14 -0
- package/plugin/assets/languages/csharp.svg +1 -0
- package/plugin/assets/languages/php.svg +4 -0
- package/plugin/buildAlgoliaIndex.ts +40 -39
- package/plugin/components/MethodDescription.tsx +54 -0
- package/plugin/components/RequestBuilder/ParamEditor.tsx +55 -0
- package/plugin/components/RequestBuilder/SnippetStainlessIsland.tsx +107 -0
- package/plugin/components/RequestBuilder/index.tsx +40 -0
- package/plugin/components/RequestBuilder/props.ts +9 -0
- package/plugin/components/RequestBuilder/spec-helpers.ts +47 -0
- package/plugin/components/RequestBuilder/styles.css +67 -0
- package/plugin/components/SDKSelect.astro +18 -111
- package/plugin/components/SnippetCode.tsx +112 -70
- package/plugin/components/StainlessIslands.tsx +126 -0
- package/plugin/components/search/SearchAlgolia.astro +46 -29
- package/plugin/components/search/SearchIsland.tsx +61 -37
- package/plugin/generateAPIReferenceLink.ts +0 -40
- package/plugin/globalJs/ai-dropdown-options.ts +248 -0
- package/plugin/globalJs/code-snippets.ts +45 -16
- package/plugin/globalJs/copy.ts +115 -27
- package/plugin/globalJs/create-playground.shim.ts +3 -0
- package/plugin/globalJs/method-descriptions.ts +33 -0
- package/plugin/globalJs/navigation.ts +24 -44
- package/plugin/globalJs/playground-data.shim.ts +1 -0
- package/plugin/globalJs/playground-data.ts +14 -0
- package/plugin/globalJs/summary-selection-tweak.ts +29 -0
- package/plugin/helpers/generateDocsRoutes.ts +59 -0
- package/plugin/helpers/multiSpec.ts +8 -0
- package/plugin/index.ts +317 -141
- package/plugin/languages.ts +8 -2
- package/plugin/loadPluginConfig.ts +284 -109
- package/plugin/markdown/highlighter.ts +100 -0
- package/plugin/markdown/index.ts +39 -0
- package/plugin/middlewareBuilder/stainlessMiddleware.d.ts +3 -1
- package/plugin/react/Routing.tsx +98 -263
- package/plugin/referencePlaceholderUtils.ts +17 -14
- package/plugin/replaceSidebarPlaceholderMiddleware.ts +39 -35
- package/plugin/routes/Docs.astro +72 -111
- package/plugin/routes/DocsStatic.astro +6 -5
- package/plugin/routes/Overview.astro +46 -22
- package/plugin/routes/llms.ts +186 -0
- package/plugin/routes/markdown.ts +13 -12
- package/plugin/{cms → sidebar-utils}/sidebar-builder.ts +84 -69
- package/plugin/specs/FileCache.ts +99 -0
- package/plugin/specs/fetchSpecSSR.ts +27 -0
- package/plugin/specs/generateSpec.ts +112 -0
- package/plugin/specs/index.ts +132 -0
- package/plugin/specs/inputResolver.ts +148 -0
- package/plugin/{cms → specs}/worker.ts +82 -5
- package/plugin/vendor/preview.worker.docs.js +27121 -16890
- package/plugin/vendor/templates/cli.md +1 -0
- package/plugin/vendor/templates/go.md +4 -2
- package/plugin/vendor/templates/java.md +5 -1
- package/plugin/vendor/templates/kotlin.md +5 -1
- package/plugin/vendor/templates/node.md +4 -2
- package/plugin/vendor/templates/python.md +4 -2
- package/plugin/vendor/templates/ruby.md +4 -2
- package/plugin/vendor/templates/terraform.md +1 -1
- package/plugin/vendor/templates/typescript.md +3 -1
- package/resolveSrcFile.ts +10 -0
- package/scripts/vendor_deps.ts +5 -5
- package/shared/conditionalIntegration.ts +28 -0
- package/shared/getProsePages.ts +41 -0
- package/shared/getSharedLogger.ts +15 -0
- package/shared/terminalUtils.ts +3 -0
- package/shared/virtualModule.ts +46 -1
- package/src/content.config.ts +9 -0
- package/stl-docs/aiChatExamples.ts +95 -0
- package/stl-docs/chat/docs-chat-handler.ts +18 -0
- package/stl-docs/chat/hook.ts +215 -0
- package/stl-docs/chat/schemas.ts +70 -0
- package/stl-docs/chat/stainless-handler/index.ts +126 -0
- package/stl-docs/chat/stream-util.ts +16 -0
- package/stl-docs/chat/ui/AiChat.module.css +591 -0
- package/stl-docs/chat/ui/AiChat.tsx +188 -0
- package/stl-docs/chat/ui/Trigger.tsx +154 -0
- package/stl-docs/chat/ui/components/ChatControls.tsx +51 -0
- package/stl-docs/chat/ui/components/ChatEmpty.tsx +42 -0
- package/stl-docs/chat/ui/components/ChatLog.tsx +96 -0
- package/stl-docs/chat/ui/components/ChatMessage.tsx +47 -0
- package/stl-docs/chat/ui/components/CodeBlock.tsx +33 -0
- package/stl-docs/chat/ui/components/MessageFeedback.tsx +109 -0
- package/stl-docs/chat/ui/components/Table.tsx +15 -0
- package/stl-docs/chat/ui/components/ToolCall.tsx +34 -0
- package/stl-docs/chat/ui/components/hljs-github.css +81 -0
- package/stl-docs/chat/ui/scroll-manager.ts +86 -0
- package/stl-docs/chat/ui/types.ts +45 -0
- package/stl-docs/components/AIDropdown.tsx +63 -0
- package/stl-docs/components/AiChatIsland.tsx +16 -0
- package/stl-docs/components/{content-panel/ContentBreadcrumbs.tsx → ContentBreadcrumbs.tsx} +2 -2
- package/stl-docs/components/ContentPanel.astro +9 -0
- package/stl-docs/components/Footer.astro +89 -0
- package/stl-docs/components/Head.astro +20 -0
- package/stl-docs/components/Header.astro +3 -9
- package/stl-docs/components/PageFrame.astro +37 -0
- package/stl-docs/components/PageSidebar.astro +11 -0
- package/stl-docs/components/PageTitle.astro +82 -0
- package/stl-docs/components/StainlessLogo.svg +4 -0
- package/stl-docs/components/ThemeProvider.astro +36 -0
- package/stl-docs/components/ThemeSelect.astro +84 -146
- package/stl-docs/components/TwoColumnContent.astro +2 -0
- package/stl-docs/components/headers/DefaultHeader.astro +6 -8
- package/stl-docs/components/headers/StackedHeader.astro +10 -53
- package/stl-docs/components/icons/chat-gpt.tsx +2 -2
- package/stl-docs/components/icons/cursor.tsx +10 -0
- package/stl-docs/components/icons/gemini.tsx +19 -0
- package/stl-docs/components/icons/markdown.tsx +1 -1
- package/stl-docs/components/index.ts +1 -0
- package/stl-docs/components/mintlify-compat/Accordion.astro +2 -2
- package/stl-docs/components/mintlify-compat/AccordionGroup.astro +0 -4
- package/stl-docs/components/mintlify-compat/Columns.astro +2 -2
- package/stl-docs/components/mintlify-compat/Frame.astro +6 -6
- package/stl-docs/components/mintlify-compat/Tab.astro +2 -2
- package/stl-docs/components/mintlify-compat/callouts/Callout.astro +2 -2
- package/stl-docs/components/mintlify-compat/callouts/Check.astro +0 -4
- package/stl-docs/components/mintlify-compat/callouts/Danger.astro +0 -4
- package/stl-docs/components/mintlify-compat/callouts/Info.astro +0 -4
- package/stl-docs/components/mintlify-compat/callouts/Note.astro +0 -4
- package/stl-docs/components/mintlify-compat/callouts/Tip.astro +0 -4
- package/stl-docs/components/mintlify-compat/callouts/Warning.astro +0 -4
- package/stl-docs/components/mintlify-compat/card.css +4 -4
- package/stl-docs/components/mintlify-compat/index.ts +2 -4
- package/stl-docs/components/nav-tabs/NavDropdown.astro +38 -77
- package/stl-docs/components/nav-tabs/NavTabs.astro +81 -81
- package/stl-docs/components/nav-tabs/SecondaryNavTabs.astro +1 -2
- package/stl-docs/components/nav-tabs/buildNavLinks.ts +5 -2
- package/stl-docs/components/pagination/HomeLink.astro +10 -0
- package/stl-docs/components/pagination/Pagination.astro +177 -0
- package/stl-docs/components/pagination/PaginationLinkEmphasized.astro +22 -0
- package/stl-docs/components/pagination/PaginationLinkQuiet.astro +13 -0
- package/stl-docs/components/pagination/util.ts +71 -0
- package/stl-docs/components/scripts.ts +1 -0
- package/stl-docs/components/sidebars/BaseSidebar.astro +80 -2
- package/stl-docs/components/sidebars/SidebarWithComponents.tsx +10 -0
- package/stl-docs/components/sidebars/convertAstroSidebarToStl.tsx +62 -0
- package/stl-docs/disableCalloutSyntax.ts +36 -0
- package/stl-docs/fonts.ts +186 -0
- package/stl-docs/index.ts +176 -58
- package/stl-docs/loadStlDocsConfig.ts +73 -8
- package/stl-docs/proseDocSync.test.ts +74 -0
- package/stl-docs/proseDocSync.ts +344 -0
- package/stl-docs/proseMarkdown/proseMarkdownIntegration.ts +53 -0
- package/stl-docs/proseMarkdown/proseMarkdownMiddleware.ts +41 -0
- package/stl-docs/proseMarkdown/toMarkdown.ts +158 -0
- package/stl-docs/proseSearchIndexing.ts +218 -0
- package/stl-docs/tabsMiddleware.ts +14 -5
- package/styles/code.css +53 -49
- package/styles/links.css +2 -37
- package/styles/method-descriptions.css +36 -0
- package/styles/overrides.css +28 -46
- package/styles/page.css +228 -38
- package/styles/sdk_select.css +9 -6
- package/styles/search.css +11 -21
- package/styles/sidebar.css +28 -215
- package/styles/{variables.css → sl-variables.css} +4 -8
- package/styles/stldocs-variables.css +6 -0
- package/styles/toc.css +19 -8
- package/theme.css +11 -9
- package/tsconfig.json +1 -4
- package/virtual-module.d.ts +66 -8
- package/components/variables.css +0 -112
- package/plugin/cms/client.ts +0 -62
- package/plugin/cms/server.ts +0 -268
- package/plugin/globalJs/ai-dropdown.ts +0 -57
- package/stl-docs/components/APIReferenceAIDropdown.tsx +0 -58
- package/stl-docs/components/ClientRouterHead.astro +0 -41
- package/stl-docs/components/content-panel/ContentPanel.astro +0 -69
- package/stl-docs/components/content-panel/ProseAIDropdown.tsx +0 -55
- package/stl-docs/components/headers/SplashMobileMenuToggle.astro +0 -49
- package/stl-docs/components/mintlify-compat/Step.astro +0 -56
- package/stl-docs/components/mintlify-compat/Steps.astro +0 -15
- package/styles/fonts.css +0 -68
- /package/{plugin/assets → assets}/fonts/geist/OFL.txt +0 -0
- /package/{plugin/assets → assets}/fonts/geist/geist-italic-latin-ext.woff2 +0 -0
- /package/{plugin/assets → assets}/fonts/geist/geist-italic-latin.woff2 +0 -0
- /package/{plugin/assets → assets}/fonts/geist/geist-latin-ext.woff2 +0 -0
- /package/{plugin/assets → assets}/fonts/geist/geist-latin.woff2 +0 -0
- /package/{plugin/assets → assets}/fonts/geist/geist-mono-italic-latin-ext.woff2 +0 -0
- /package/{plugin/assets → assets}/fonts/geist/geist-mono-italic-latin.woff2 +0 -0
- /package/{plugin/assets → assets}/fonts/geist/geist-mono-latin-ext.woff2 +0 -0
- /package/{plugin/assets → assets}/fonts/geist/geist-mono-latin.woff2 +0 -0
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
export const copyCurrentPageAsMarkdown = async () => {
|
|
2
|
-
const currentUrl = new URL(window.location.href);
|
|
3
|
-
const markdownUrl = `${currentUrl.origin}${currentUrl.pathname}.md`;
|
|
4
|
-
|
|
5
|
-
try {
|
|
6
|
-
const response = await fetch(markdownUrl);
|
|
7
|
-
if (!response.ok) {
|
|
8
|
-
throw new Error('Network response was not ok');
|
|
9
|
-
}
|
|
10
|
-
const markdown = await response.text();
|
|
11
|
-
await navigator.clipboard.writeText(markdown);
|
|
12
|
-
console.log('Markdown copied to clipboard');
|
|
13
|
-
} catch (error) {
|
|
14
|
-
console.error('There has been a problem with your fetch operation:', error);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export function onSelectAIOption(value: string, makeMarkdownLink: boolean = true) {
|
|
19
|
-
if (value === 'copy-markdown') {
|
|
20
|
-
copyCurrentPageAsMarkdown();
|
|
21
|
-
}
|
|
22
|
-
if (value === 'view-as-markdown') {
|
|
23
|
-
const currentUrl = new URL(window.location.href);
|
|
24
|
-
const markdownUrl = `${currentUrl.origin}${currentUrl.pathname}.md`;
|
|
25
|
-
window.open(markdownUrl, '_blank');
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
if (value === 'chat-gpt') {
|
|
29
|
-
const currentUrl = new URL(window.location.href);
|
|
30
|
-
const llmUrl = makeMarkdownLink ? `${currentUrl.origin}${currentUrl.pathname}.md` : currentUrl.href;
|
|
31
|
-
|
|
32
|
-
const prompt = `Read from ${llmUrl} so I can ask questions about it.`;
|
|
33
|
-
|
|
34
|
-
const chatGptUrl = `https://chatgpt.com/?hints=search&prompt=${encodeURIComponent(prompt)}`;
|
|
35
|
-
window.open(chatGptUrl, '_blank');
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (value === 'claude') {
|
|
39
|
-
const currentUrl = new URL(window.location.href);
|
|
40
|
-
const llmUrl = makeMarkdownLink ? `${currentUrl.origin}${currentUrl.pathname}.md` : currentUrl.href;
|
|
41
|
-
|
|
42
|
-
const prompt = `Read from ${llmUrl} so I can ask questions about it.`;
|
|
43
|
-
|
|
44
|
-
const claudeUrl = `https://claude.ai/new?q=${encodeURIComponent(prompt)}`;
|
|
45
|
-
window.open(claudeUrl, '_blank');
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (value === 'cursor') {
|
|
49
|
-
const currentUrl = new URL(window.location.href);
|
|
50
|
-
const llmUrl = makeMarkdownLink ? `${currentUrl.origin}${currentUrl.pathname}.md` : currentUrl.href;
|
|
51
|
-
|
|
52
|
-
const prompt = `Read from ${llmUrl} so I can ask questions about it.`;
|
|
53
|
-
|
|
54
|
-
const cursorUrl = `https://www.cursor.so/?prompt=${encodeURIComponent(prompt)}`;
|
|
55
|
-
window.open(cursorUrl, '_blank');
|
|
56
|
-
}
|
|
57
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { DropdownButton } from '@stainless-api/ui-primitives';
|
|
2
|
-
import { CopyIcon } from 'lucide-react';
|
|
3
|
-
import { ChatGPTIcon } from './icons/chat-gpt';
|
|
4
|
-
import { ClaudeIcon } from './icons/claude';
|
|
5
|
-
import { MarkdownIcon } from './icons/markdown';
|
|
6
|
-
|
|
7
|
-
export function AIDropdownOptions() {
|
|
8
|
-
return (
|
|
9
|
-
<>
|
|
10
|
-
<DropdownButton.MenuItem value="claude" isExternalLink>
|
|
11
|
-
<DropdownButton.MenuItemIcon>
|
|
12
|
-
<ClaudeIcon />
|
|
13
|
-
</DropdownButton.MenuItemIcon>
|
|
14
|
-
<DropdownButton.MenuItemText subtle>
|
|
15
|
-
Open in
|
|
16
|
-
<strong> Claude</strong>
|
|
17
|
-
</DropdownButton.MenuItemText>
|
|
18
|
-
</DropdownButton.MenuItem>
|
|
19
|
-
<DropdownButton.MenuItem value="chat-gpt" isExternalLink>
|
|
20
|
-
<DropdownButton.MenuItemIcon>
|
|
21
|
-
<ChatGPTIcon />
|
|
22
|
-
</DropdownButton.MenuItemIcon>
|
|
23
|
-
<DropdownButton.MenuItemText subtle>
|
|
24
|
-
Open in
|
|
25
|
-
<strong> ChatGPT</strong>
|
|
26
|
-
</DropdownButton.MenuItemText>
|
|
27
|
-
</DropdownButton.MenuItem>
|
|
28
|
-
</>
|
|
29
|
-
);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export function APIReferenceAIDropdown() {
|
|
33
|
-
return (
|
|
34
|
-
<DropdownButton id="ai-dropdown-button">
|
|
35
|
-
<DropdownButton.PrimaryAction>
|
|
36
|
-
<CopyIcon size={16} />
|
|
37
|
-
<DropdownButton.PrimaryActionText>Copy Markdown</DropdownButton.PrimaryActionText>
|
|
38
|
-
</DropdownButton.PrimaryAction>
|
|
39
|
-
<DropdownButton.Trigger />
|
|
40
|
-
<DropdownButton.Menu>
|
|
41
|
-
<AIDropdownOptions />
|
|
42
|
-
<hr />
|
|
43
|
-
<DropdownButton.MenuItem value="copy-as-markdown" isExternalLink>
|
|
44
|
-
<DropdownButton.MenuItemIcon>
|
|
45
|
-
<CopyIcon size={16} />
|
|
46
|
-
</DropdownButton.MenuItemIcon>
|
|
47
|
-
<DropdownButton.MenuItemText>Copy Markdown</DropdownButton.MenuItemText>
|
|
48
|
-
</DropdownButton.MenuItem>
|
|
49
|
-
<DropdownButton.MenuItem value="view-as-markdown" isExternalLink>
|
|
50
|
-
<DropdownButton.MenuItemIcon>
|
|
51
|
-
<MarkdownIcon />
|
|
52
|
-
</DropdownButton.MenuItemIcon>
|
|
53
|
-
<DropdownButton.MenuItemText>View as Markdown</DropdownButton.MenuItemText>
|
|
54
|
-
</DropdownButton.MenuItem>
|
|
55
|
-
</DropdownButton.Menu>
|
|
56
|
-
</DropdownButton>
|
|
57
|
-
);
|
|
58
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import { ClientRouter } from 'astro:transitions';
|
|
3
|
-
import Default from '@astrojs/starlight/components/Head.astro';
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<style is:global>
|
|
7
|
-
/* Disable native View Transitions animations */
|
|
8
|
-
:root::view-transition-old(root),
|
|
9
|
-
:root::view-transition-new(root) {
|
|
10
|
-
animation: none;
|
|
11
|
-
}
|
|
12
|
-
:root::view-transition-group(root) {
|
|
13
|
-
animation-duration: 0s;
|
|
14
|
-
}
|
|
15
|
-
</style>
|
|
16
|
-
|
|
17
|
-
<script>
|
|
18
|
-
console.log('[EXPERIMENTAL] using client router');
|
|
19
|
-
</script>
|
|
20
|
-
<script>
|
|
21
|
-
function setNavLinksMode(doc: Document) {
|
|
22
|
-
let mode = localStorage.getItem('stl-nav-links-mode');
|
|
23
|
-
// initial guess
|
|
24
|
-
if (mode === null) {
|
|
25
|
-
mode = window.innerWidth < 1000 ? 'mobile' : 'desktop';
|
|
26
|
-
}
|
|
27
|
-
doc.documentElement.classList.add('stl-nav-links-mode-' + mode);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
setNavLinksMode(document);
|
|
31
|
-
|
|
32
|
-
// https://docs.astro.build/en/guides/view-transitions/#astrobefore-swap
|
|
33
|
-
|
|
34
|
-
document.addEventListener('astro:before-swap', (event) => {
|
|
35
|
-
setNavLinksMode(event.newDocument);
|
|
36
|
-
});
|
|
37
|
-
</script>
|
|
38
|
-
|
|
39
|
-
<ClientRouter />
|
|
40
|
-
|
|
41
|
-
<Default />
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import { ContentBreadcrumbs } from './ContentBreadcrumbs';
|
|
3
|
-
import { ProseAIDropdown } from './ProseAIDropdown';
|
|
4
|
-
import { INCLUDE_AI_DROPDOWN_OPTIONS } from 'virtual:stl-docs-virtual-module';
|
|
5
|
-
const currentPath = Astro.url.pathname;
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
<div class="content-panel">
|
|
9
|
-
<div class="sl-container stl-ui-prose">
|
|
10
|
-
<div class="stl-ui-not-prose stl-page-nav-container stl-prose-page-nav-container">
|
|
11
|
-
<ContentBreadcrumbs currentPath={currentPath} sidebarEntry={Astro.locals.starlightRoute.sidebar} />
|
|
12
|
-
{
|
|
13
|
-
INCLUDE_AI_DROPDOWN_OPTIONS && (
|
|
14
|
-
<ProseAIDropdown currentPath={currentPath} sidebarEntry={Astro.locals.starlightRoute.sidebar} />
|
|
15
|
-
)
|
|
16
|
-
}
|
|
17
|
-
</div>
|
|
18
|
-
<slot />
|
|
19
|
-
</div>
|
|
20
|
-
</div>
|
|
21
|
-
|
|
22
|
-
<style>
|
|
23
|
-
@layer starlight.core {
|
|
24
|
-
.content-panel {
|
|
25
|
-
padding: 1.5rem var(--sl-content-pad-x);
|
|
26
|
-
}
|
|
27
|
-
.content-panel + .content-panel {
|
|
28
|
-
border-top: 1px solid var(--sl-color-hairline);
|
|
29
|
-
}
|
|
30
|
-
.sl-container {
|
|
31
|
-
max-width: var(--sl-content-width);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
@media (min-width: 72rem) {
|
|
35
|
-
.sl-container {
|
|
36
|
-
margin-inline: var(--sl-content-margin-inline, auto);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
.content-panel {
|
|
41
|
-
padding: 0 0.5rem 0 var(--sl-content-pad-x);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.stl-prose-page-nav-container {
|
|
45
|
-
padding: 1rem 0 0;
|
|
46
|
-
}
|
|
47
|
-
</style>
|
|
48
|
-
|
|
49
|
-
<style is:global>
|
|
50
|
-
.content-panel:nth-of-type(2) .stl-page-nav-container {
|
|
51
|
-
display: none;
|
|
52
|
-
}
|
|
53
|
-
</style>
|
|
54
|
-
|
|
55
|
-
<script>
|
|
56
|
-
import { initDropdownButton } from '@stainless-api/ui-primitives/scripts';
|
|
57
|
-
import { getPageLoadEvent } from '../../../plugin/helpers/getPageLoadEvent';
|
|
58
|
-
import { onSelectAIOption } from '../../../plugin/globalJs/ai-dropdown.ts';
|
|
59
|
-
|
|
60
|
-
document.addEventListener(getPageLoadEvent(), () => {
|
|
61
|
-
initDropdownButton({
|
|
62
|
-
dropdownId: 'prose-ai-dropdown-button',
|
|
63
|
-
onSelect: (option: string) => onSelectAIOption(option, false),
|
|
64
|
-
onPrimaryAction: () => {
|
|
65
|
-
onSelectAIOption('claude', false);
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
</script>
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { DropdownButton } from '@stainless-api/ui-primitives';
|
|
2
|
-
import { AIDropdownOptions } from '../APIReferenceAIDropdown';
|
|
3
|
-
import type { StarlightRouteData } from '@astrojs/starlight/route-data';
|
|
4
|
-
import { ClaudeIcon } from '../icons/claude';
|
|
5
|
-
|
|
6
|
-
const sidebarHasEntry = (sidebarEntry: StarlightRouteData['sidebar'], currentPath?: string) => {
|
|
7
|
-
if (!currentPath) return false;
|
|
8
|
-
const normalizePath = (path: string) => {
|
|
9
|
-
return path.endsWith('/') ? path : path + '/';
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const normalizedCurrent = normalizePath(currentPath);
|
|
13
|
-
|
|
14
|
-
for (const entry of sidebarEntry) {
|
|
15
|
-
if (entry.type === 'link') {
|
|
16
|
-
const normalizedHref = normalizePath(entry.href);
|
|
17
|
-
if (normalizedHref === normalizedCurrent) {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
} else if (entry.type === 'group') {
|
|
21
|
-
const hasInGroup = sidebarHasEntry(entry.entries, currentPath);
|
|
22
|
-
if (hasInGroup) return true;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return false;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export function ProseAIDropdown({
|
|
30
|
-
currentPath,
|
|
31
|
-
sidebarEntry,
|
|
32
|
-
}: {
|
|
33
|
-
currentPath: string;
|
|
34
|
-
sidebarEntry: StarlightRouteData['sidebar'];
|
|
35
|
-
}) {
|
|
36
|
-
// Hide if there is no associated sidebar entry. This applies to pages like the 404 page.
|
|
37
|
-
const hasEntry = sidebarHasEntry(sidebarEntry, currentPath);
|
|
38
|
-
|
|
39
|
-
if (!hasEntry) {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return (
|
|
44
|
-
<DropdownButton id="prose-ai-dropdown-button">
|
|
45
|
-
<DropdownButton.PrimaryAction>
|
|
46
|
-
<ClaudeIcon />
|
|
47
|
-
Open in Claude
|
|
48
|
-
</DropdownButton.PrimaryAction>
|
|
49
|
-
<DropdownButton.Trigger />
|
|
50
|
-
<DropdownButton.Menu>
|
|
51
|
-
<AIDropdownOptions />
|
|
52
|
-
</DropdownButton.Menu>
|
|
53
|
-
</DropdownButton>
|
|
54
|
-
);
|
|
55
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import MobileMenuToggle from 'virtual:starlight/components/MobileMenuToggle';
|
|
3
|
-
import Sidebar from 'virtual:starlight/components/Sidebar';
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<div class="stl-splash-mobile-menu-toggle">
|
|
7
|
-
<MobileMenuToggle />
|
|
8
|
-
<div id="starlight__sidebar" class="sidebar-pane">
|
|
9
|
-
<div class="sidebar-content sl-flex">
|
|
10
|
-
<Sidebar />
|
|
11
|
-
</div>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
|
|
15
|
-
<style>
|
|
16
|
-
:global([aria-expanded='true']) ~ .sidebar-pane {
|
|
17
|
-
--sl-sidebar-visibility: visible;
|
|
18
|
-
}
|
|
19
|
-
.sidebar-pane {
|
|
20
|
-
visibility: var(--sl-sidebar-visibility, hidden);
|
|
21
|
-
position: fixed;
|
|
22
|
-
z-index: var(--sl-z-index-menu);
|
|
23
|
-
inset-block: var(--sl-nav-height) 0;
|
|
24
|
-
inset-inline-start: 0;
|
|
25
|
-
width: 100%;
|
|
26
|
-
overflow-y: auto;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.sidebar-content {
|
|
30
|
-
height: 100%;
|
|
31
|
-
min-height: max-content;
|
|
32
|
-
padding: 1rem var(--sl-sidebar-pad-x) 0;
|
|
33
|
-
flex-direction: column;
|
|
34
|
-
gap: 1rem;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
@media (min-width: 50rem) {
|
|
38
|
-
.stl-splash-mobile-menu-toggle {
|
|
39
|
-
display: none;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
</style>
|
|
43
|
-
<style is:global>
|
|
44
|
-
.stl-splash-mobile-menu-toggle button {
|
|
45
|
-
position: relative;
|
|
46
|
-
top: unset;
|
|
47
|
-
inset-inline-end: unset;
|
|
48
|
-
}
|
|
49
|
-
</style>
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
export interface Props {
|
|
3
|
-
title?: string;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
const { title } = Astro.props;
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
<li class="stl-ui-mintlify-compat-step" data-stl-ui-element>
|
|
10
|
-
<div class="stl-ui-mintlify-compat-step-step-number"></div>
|
|
11
|
-
<div>
|
|
12
|
-
<p class="stl-ui-mintlify-compat-step-title">{title}</p>
|
|
13
|
-
<div class="stl-ui-mintlify-compat-step-content"><slot /></div>
|
|
14
|
-
</div>
|
|
15
|
-
</li>
|
|
16
|
-
|
|
17
|
-
<style>
|
|
18
|
-
.stl-ui-mintlify-compat-step {
|
|
19
|
-
display: flex;
|
|
20
|
-
|
|
21
|
-
&:not(:first-child) {
|
|
22
|
-
margin-top: 1rem;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.stl-ui-mintlify-compat-step-step-number {
|
|
27
|
-
margin-right: 1rem;
|
|
28
|
-
display: flex;
|
|
29
|
-
align-items: top;
|
|
30
|
-
justify-content: center;
|
|
31
|
-
margin-top: 4px;
|
|
32
|
-
|
|
33
|
-
&::before {
|
|
34
|
-
counter-increment: ui-steps;
|
|
35
|
-
content: counter(ui-steps);
|
|
36
|
-
border-radius: 50%;
|
|
37
|
-
height: 1.5rem;
|
|
38
|
-
width: 1.5rem;
|
|
39
|
-
font-size: 0.8rem;
|
|
40
|
-
color: var(--sl-color-text);
|
|
41
|
-
font-weight: 600;
|
|
42
|
-
background-color: var(--sl-color-gray-5);
|
|
43
|
-
display: flex;
|
|
44
|
-
align-items: center;
|
|
45
|
-
justify-content: center;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.stl-ui-mintlify-compat-step-title {
|
|
50
|
-
font-weight: 600;
|
|
51
|
-
color: var(--sl-color-text);
|
|
52
|
-
}
|
|
53
|
-
.stl-ui-mintlify-compat-step-content {
|
|
54
|
-
margin-top: 0.5rem;
|
|
55
|
-
}
|
|
56
|
-
</style>
|
package/styles/fonts.css
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/* Geist */
|
|
2
|
-
@font-face {
|
|
3
|
-
font-family: 'Geist';
|
|
4
|
-
font-style: normal;
|
|
5
|
-
font-display: swap;
|
|
6
|
-
font-weight: 100 900;
|
|
7
|
-
src: url(../plugin/assets/fonts/geist/geist-latin.woff2) format('woff2-variations');
|
|
8
|
-
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
|
|
9
|
-
}
|
|
10
|
-
@font-face {
|
|
11
|
-
font-family: 'Geist';
|
|
12
|
-
font-style: italic;
|
|
13
|
-
font-display: swap;
|
|
14
|
-
font-weight: 100 900;
|
|
15
|
-
src: url(../plugin/assets/fonts/geist/geist-italic-latin.woff2) format('woff2-variations');
|
|
16
|
-
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
|
|
17
|
-
}
|
|
18
|
-
@font-face {
|
|
19
|
-
font-family: 'Geist';
|
|
20
|
-
font-style: normal;
|
|
21
|
-
font-display: swap;
|
|
22
|
-
font-weight: 100 900;
|
|
23
|
-
src: url(../plugin/assets/fonts/geist/geist-latin-ext.woff2) format('woff2-variations');
|
|
24
|
-
unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
|
|
25
|
-
}
|
|
26
|
-
@font-face {
|
|
27
|
-
font-family: 'Geist';
|
|
28
|
-
font-style: italic;
|
|
29
|
-
font-display: swap;
|
|
30
|
-
font-weight: 100 900;
|
|
31
|
-
src: url(../plugin/assets/fonts/geist/geist-italic-latin-ext.woff2) format('woff2-variations');
|
|
32
|
-
unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
/* Geist Mono */
|
|
37
|
-
@font-face {
|
|
38
|
-
font-family: 'Geist Mono';
|
|
39
|
-
font-style: normal;
|
|
40
|
-
font-display: swap;
|
|
41
|
-
font-weight: 100 900;
|
|
42
|
-
src: url(../plugin/assets/fonts/geist/geist-mono-latin.woff2) format('woff2-variations');
|
|
43
|
-
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
|
|
44
|
-
}
|
|
45
|
-
@font-face {
|
|
46
|
-
font-family: 'Geist Mono';
|
|
47
|
-
font-style: italic;
|
|
48
|
-
font-display: swap;
|
|
49
|
-
font-weight: 100 900;
|
|
50
|
-
src: url(../plugin/assets/fonts/geist/geist-mono-italic-latin.woff2) format('woff2-variations');
|
|
51
|
-
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
|
|
52
|
-
}
|
|
53
|
-
@font-face {
|
|
54
|
-
font-family: 'Geist Mono';
|
|
55
|
-
font-style: normal;
|
|
56
|
-
font-display: swap;
|
|
57
|
-
font-weight: 100 900;
|
|
58
|
-
src: url(../plugin/assets/fonts/geist/geist-mono-latin-ext.woff2) format('woff2-variations');
|
|
59
|
-
unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
|
|
60
|
-
}
|
|
61
|
-
@font-face {
|
|
62
|
-
font-family: 'Geist Mono';
|
|
63
|
-
font-style: italic;
|
|
64
|
-
font-display: swap;
|
|
65
|
-
font-weight: 100 900;
|
|
66
|
-
src: url(../plugin/assets/fonts/geist/geist-mono-italic-latin-ext.woff2) format('woff2-variations');
|
|
67
|
-
unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
|
|
68
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|