@stainless-api/docs 0.1.0-beta.1 → 0.1.0-beta.100

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.
Files changed (158) hide show
  1. package/CHANGELOG.md +917 -0
  2. package/eslint-suppressions.json +27 -0
  3. package/locals.d.ts +17 -0
  4. package/package.json +50 -40
  5. package/playground-virtual-modules.d.ts +96 -0
  6. package/plugin/assets/languages/cli.svg +14 -0
  7. package/plugin/assets/languages/csharp.svg +1 -0
  8. package/plugin/assets/languages/php.svg +4 -0
  9. package/plugin/buildAlgoliaIndex.ts +40 -39
  10. package/plugin/components/MethodDescription.tsx +54 -0
  11. package/plugin/components/RequestBuilder/ParamEditor.tsx +55 -0
  12. package/plugin/components/RequestBuilder/SnippetStainlessIsland.tsx +107 -0
  13. package/plugin/components/RequestBuilder/index.tsx +37 -0
  14. package/plugin/components/RequestBuilder/props.ts +9 -0
  15. package/plugin/components/RequestBuilder/spec-helpers.ts +47 -0
  16. package/plugin/components/RequestBuilder/styles.css +67 -0
  17. package/plugin/components/SDKSelect.astro +18 -105
  18. package/plugin/components/SnippetCode.tsx +111 -66
  19. package/plugin/components/StainlessIslands.tsx +126 -0
  20. package/plugin/components/search/SearchAlgolia.astro +45 -35
  21. package/plugin/components/search/SearchIsland.tsx +47 -29
  22. package/plugin/generateAPIReferenceLink.ts +2 -2
  23. package/plugin/globalJs/ai-dropdown-options.ts +243 -0
  24. package/plugin/globalJs/code-snippets.ts +40 -11
  25. package/plugin/globalJs/copy.ts +95 -17
  26. package/plugin/globalJs/create-playground.shim.ts +3 -0
  27. package/plugin/globalJs/method-descriptions.ts +33 -0
  28. package/plugin/globalJs/navigation.ts +12 -33
  29. package/plugin/globalJs/playground-data.shim.ts +1 -0
  30. package/plugin/globalJs/playground-data.ts +14 -0
  31. package/plugin/helpers/generateDocsRoutes.ts +59 -0
  32. package/plugin/helpers/getPageLoadEvent.ts +1 -1
  33. package/plugin/helpers/multiSpec.ts +8 -0
  34. package/plugin/index.ts +299 -117
  35. package/plugin/languages.ts +8 -2
  36. package/plugin/loadPluginConfig.ts +254 -102
  37. package/plugin/middlewareBuilder/stainlessMiddleware.d.ts +1 -1
  38. package/plugin/react/Routing.tsx +210 -140
  39. package/plugin/referencePlaceholderUtils.ts +18 -15
  40. package/plugin/replaceSidebarPlaceholderMiddleware.ts +40 -32
  41. package/plugin/routes/Docs.astro +70 -119
  42. package/plugin/routes/DocsStatic.astro +6 -5
  43. package/plugin/routes/Overview.astro +37 -27
  44. package/plugin/routes/markdown.ts +13 -12
  45. package/plugin/{cms → sidebar-utils}/sidebar-builder.ts +49 -60
  46. package/plugin/specs/FileCache.ts +99 -0
  47. package/plugin/specs/fetchSpecSSR.ts +27 -0
  48. package/plugin/specs/generateSpec.ts +112 -0
  49. package/plugin/specs/index.ts +132 -0
  50. package/plugin/specs/inputResolver.ts +146 -0
  51. package/plugin/{cms → specs}/worker.ts +82 -5
  52. package/plugin/vendor/preview.worker.docs.js +22406 -17955
  53. package/plugin/vendor/templates/cli.md +1 -0
  54. package/plugin/vendor/templates/go.md +4 -2
  55. package/plugin/vendor/templates/java.md +3 -1
  56. package/plugin/vendor/templates/kotlin.md +3 -1
  57. package/plugin/vendor/templates/node.md +4 -2
  58. package/plugin/vendor/templates/python.md +4 -2
  59. package/plugin/vendor/templates/ruby.md +4 -2
  60. package/plugin/vendor/templates/terraform.md +1 -1
  61. package/plugin/vendor/templates/typescript.md +3 -1
  62. package/resolveSrcFile.ts +10 -0
  63. package/scripts/vendor_deps.ts +5 -5
  64. package/shared/getProsePages.ts +42 -0
  65. package/shared/getSharedLogger.ts +15 -0
  66. package/shared/terminalUtils.ts +3 -0
  67. package/shared/virtualModule.ts +54 -1
  68. package/src/content.config.ts +9 -0
  69. package/stl-docs/components/AIDropdown.tsx +63 -0
  70. package/stl-docs/components/AiChatIsland.tsx +14 -0
  71. package/stl-docs/components/{content-panel/ContentBreadcrumbs.tsx → ContentBreadcrumbs.tsx} +2 -2
  72. package/stl-docs/components/Head.astro +20 -0
  73. package/stl-docs/components/Header.astro +7 -9
  74. package/stl-docs/components/PageFrame.astro +18 -0
  75. package/stl-docs/components/PageTitle.astro +82 -0
  76. package/stl-docs/components/TableOfContents.astro +34 -0
  77. package/stl-docs/components/ThemeProvider.astro +36 -0
  78. package/stl-docs/components/ThemeSelect.astro +84 -144
  79. package/stl-docs/components/content-panel/ContentPanel.astro +16 -46
  80. package/stl-docs/components/headers/DefaultHeader.astro +1 -1
  81. package/stl-docs/components/headers/HeaderLinks.astro +1 -1
  82. package/stl-docs/components/headers/SplashMobileMenuToggle.astro +17 -1
  83. package/stl-docs/components/headers/StackedHeader.astro +29 -24
  84. package/stl-docs/components/icons/chat-gpt.tsx +17 -0
  85. package/stl-docs/components/icons/claude.tsx +10 -0
  86. package/stl-docs/components/icons/cursor.tsx +10 -0
  87. package/stl-docs/components/icons/gemini.tsx +19 -0
  88. package/stl-docs/components/icons/markdown.tsx +10 -0
  89. package/stl-docs/components/index.ts +1 -0
  90. package/stl-docs/components/mintlify-compat/Accordion.astro +7 -38
  91. package/stl-docs/components/mintlify-compat/AccordionGroup.astro +9 -23
  92. package/stl-docs/components/mintlify-compat/Columns.astro +40 -42
  93. package/stl-docs/components/mintlify-compat/Frame.astro +16 -18
  94. package/stl-docs/components/mintlify-compat/callouts/Callout.astro +10 -3
  95. package/stl-docs/components/mintlify-compat/callouts/Check.astro +7 -3
  96. package/stl-docs/components/mintlify-compat/callouts/Danger.astro +7 -3
  97. package/stl-docs/components/mintlify-compat/callouts/Info.astro +7 -3
  98. package/stl-docs/components/mintlify-compat/callouts/Note.astro +7 -3
  99. package/stl-docs/components/mintlify-compat/callouts/Tip.astro +7 -3
  100. package/stl-docs/components/mintlify-compat/callouts/Warning.astro +7 -3
  101. package/stl-docs/components/mintlify-compat/card.css +33 -35
  102. package/stl-docs/components/mintlify-compat/index.ts +2 -4
  103. package/stl-docs/components/nav-tabs/NavDropdown.astro +31 -75
  104. package/stl-docs/components/nav-tabs/NavTabs.astro +78 -80
  105. package/stl-docs/components/nav-tabs/SecondaryNavTabs.astro +15 -8
  106. package/stl-docs/components/nav-tabs/buildNavLinks.ts +4 -3
  107. package/stl-docs/components/pagination/HomeLink.astro +10 -0
  108. package/stl-docs/components/pagination/Pagination.astro +175 -0
  109. package/stl-docs/components/pagination/PaginationLinkEmphasized.astro +22 -0
  110. package/stl-docs/components/pagination/PaginationLinkQuiet.astro +13 -0
  111. package/stl-docs/components/pagination/util.ts +71 -0
  112. package/stl-docs/components/scripts.ts +1 -0
  113. package/stl-docs/components/sidebars/BaseSidebar.astro +87 -0
  114. package/stl-docs/components/sidebars/SDKSelectSidebar.astro +8 -0
  115. package/stl-docs/components/sidebars/SidebarWithComponents.tsx +10 -0
  116. package/stl-docs/components/sidebars/convertAstroSidebarToStl.tsx +62 -0
  117. package/stl-docs/disableCalloutSyntax.ts +36 -0
  118. package/stl-docs/fonts.ts +186 -0
  119. package/stl-docs/index.ts +159 -43
  120. package/stl-docs/loadStlDocsConfig.ts +60 -9
  121. package/stl-docs/proseMarkdown/proseMarkdownIntegration.ts +61 -0
  122. package/stl-docs/proseMarkdown/proseMarkdownMiddleware.ts +41 -0
  123. package/stl-docs/proseMarkdown/toMarkdown.ts +158 -0
  124. package/stl-docs/proseSearchIndexing.ts +606 -0
  125. package/stl-docs/tabsMiddleware.ts +14 -5
  126. package/styles/code.css +133 -136
  127. package/styles/links.css +11 -48
  128. package/styles/method-descriptions.css +36 -0
  129. package/styles/overrides.css +49 -57
  130. package/styles/page.css +100 -59
  131. package/styles/sdk_select.css +9 -7
  132. package/styles/search.css +57 -69
  133. package/styles/sidebar.css +26 -156
  134. package/styles/{variables.css → sl-variables.css} +3 -2
  135. package/styles/stldocs-variables.css +6 -0
  136. package/styles/toc.css +41 -34
  137. package/theme.css +13 -3
  138. package/tsconfig.json +2 -5
  139. package/virtual-module.d.ts +65 -7
  140. package/components/variables.css +0 -139
  141. package/plugin/cms/client.ts +0 -62
  142. package/plugin/cms/server.ts +0 -268
  143. package/plugin/globalJs/ai-dropdown.ts +0 -57
  144. package/stl-docs/components/APIReferenceAIDropdown.tsx +0 -86
  145. package/stl-docs/components/Sidebar.astro +0 -11
  146. package/stl-docs/components/content-panel/ProseAIDropdown.tsx +0 -64
  147. package/stl-docs/components/mintlify-compat/Step.astro +0 -58
  148. package/stl-docs/components/mintlify-compat/Steps.astro +0 -17
  149. package/styles/fonts.css +0 -68
  150. /package/{plugin/assets → assets}/fonts/geist/OFL.txt +0 -0
  151. /package/{plugin/assets → assets}/fonts/geist/geist-italic-latin-ext.woff2 +0 -0
  152. /package/{plugin/assets → assets}/fonts/geist/geist-italic-latin.woff2 +0 -0
  153. /package/{plugin/assets → assets}/fonts/geist/geist-latin-ext.woff2 +0 -0
  154. /package/{plugin/assets → assets}/fonts/geist/geist-latin.woff2 +0 -0
  155. /package/{plugin/assets → assets}/fonts/geist/geist-mono-italic-latin-ext.woff2 +0 -0
  156. /package/{plugin/assets → assets}/fonts/geist/geist-mono-italic-latin.woff2 +0 -0
  157. /package/{plugin/assets → assets}/fonts/geist/geist-mono-latin-ext.woff2 +0 -0
  158. /package/{plugin/assets → assets}/fonts/geist/geist-mono-latin.woff2 +0 -0
@@ -0,0 +1,10 @@
1
+ export function MarkdownIcon() {
2
+ return (
3
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
4
+ <path
5
+ d="M14.8447 3.33301C15.151 3.33301 15.4455 3.45527 15.6621 3.67188C15.8785 3.88844 16 4.18213 16 4.48828V12.0254C15.9997 12.3315 15.8777 12.6254 15.6611 12.8418C15.4446 13.0581 15.1508 13.1797 14.8447 13.1797H1.15527C0.848967 13.1797 0.55449 13.0584 0.337891 12.8418C0.121288 12.6252 0 12.3307 0 12.0244V4.48828C1.09706e-05 4.18213 0.121501 3.88844 0.337891 3.67188C0.554493 3.45527 0.848951 3.33301 1.15527 3.33301H14.8447ZM1.15527 4.10254C1.10457 4.10245 1.0537 4.11247 1.00684 4.13184C0.960202 4.15116 0.917554 4.17917 0.881836 4.21484C0.845984 4.2507 0.817213 4.29396 0.797852 4.34082C0.778601 4.38756 0.769447 4.43773 0.769531 4.48828V12.0254C0.76962 12.0759 0.779409 12.1262 0.798828 12.1729C0.81827 12.2196 0.846978 12.2621 0.882812 12.2979C0.918602 12.3335 0.961134 12.3616 1.00781 12.3809C1.05454 12.4001 1.10474 12.4102 1.15527 12.4102H14.8447C14.9467 12.4101 15.045 12.3699 15.1172 12.2979C15.1893 12.2258 15.2293 12.1274 15.2295 12.0254V4.48828C15.2296 4.43774 15.2204 4.38755 15.2012 4.34082C15.1819 4.29403 15.1529 4.25166 15.1172 4.21582C15.0814 4.17999 15.0389 4.15126 14.9922 4.13184C14.9455 4.11249 14.8952 4.10258 14.8447 4.10254H1.15527ZM5.38477 7.56348L6.92285 5.64062H8.46094V10.8721H6.92285V7.87109L5.38477 9.79492L3.8457 7.87109V10.8711H2.30762V5.63965H3.8457L5.38477 7.56348ZM12.6924 8.33301H14.2305L11.9229 10.8711L9.61523 8.33301H11.1533V5.64062H12.6924V8.33301Z"
6
+ fill="currentColor"
7
+ />
8
+ </svg>
9
+ );
10
+ }
@@ -0,0 +1 @@
1
+ export * from '@stainless-api/ui-primitives';
@@ -1,46 +1,15 @@
1
1
  ---
2
2
  export interface Props {
3
3
  title: string;
4
+ children: astroHTML.JSX.Children;
4
5
  }
5
6
 
6
7
  const { title } = Astro.props;
7
- ---
8
-
9
- <details class="stl-ui-mintlify-compat-accordion" role="button" data-stl-ui-element>
10
- <summary class="stl-ui-mintlify-compat-accordion-title">{title}</summary>
11
- <div class="stl-ui-mintlify-compat-accordion-content" role="contentinfo">
12
- <slot />
13
- </div>
14
- </details>
15
-
16
- <style>
17
- @layer stl-ui-mintlify-compat {
18
- .stl-ui-mintlify-compat-accordion {
19
- border-inline-start: none;
20
- padding-inline-start: 0;
21
- border-radius: 12px;
22
- border: 1px solid var(--sl-color-hairline);
23
- overflow: hidden;
24
8
 
25
- summary {
26
- padding: 16px;
27
- margin-inline-start: 0;
28
- overflow: hidden;
29
-
30
- &:hover {
31
- background-color: var(--sl-color-hairline);
32
- }
33
- }
34
-
35
- .stl-ui-mintlify-compat-accordion-title {
36
- display: flex;
37
- align-items: center;
38
- gap: 8px;
39
- }
9
+ import { Accordion as StainlessAccordion } from '@stainless-api/ui-primitives';
10
+ ---
40
11
 
41
- .stl-ui-mintlify-compat-accordion-content {
42
- padding: 16px;
43
- }
44
- }
45
- }
46
- </style>
12
+ <StainlessAccordion>
13
+ <StainlessAccordion.Summary>{title}</StainlessAccordion.Summary>
14
+ <slot />
15
+ </StainlessAccordion>
@@ -1,25 +1,11 @@
1
- <div class="stl-ui-mintlify-compat-accordion-group">
2
- <slot />
3
- </div>
4
-
5
- <style>
6
- @layer stl-ui-mintlify-compat {
7
- .stl-ui-mintlify-compat-accordion-group {
8
- border-radius: 12px;
9
- border: 1px solid var(--sl-color-hairline);
10
- overflow: hidden;
11
- padding-inline-start: -5rem;
1
+ ---
2
+ import { Accordion as StainlessAccordion } from '@stainless-api/ui-primitives';
12
3
 
13
- .stl-ui-mintlify-compat-accordion {
14
- margin: 0;
15
- border-inline-start: none;
16
- border: none;
17
- border-radius: 0;
4
+ export interface Props {
5
+ children: astroHTML.JSX.Children;
6
+ }
7
+ ---
18
8
 
19
- &:not(:last-child) {
20
- border-bottom: 1px solid var(--sl-color-hairline);
21
- }
22
- }
23
- }
24
- }
25
- </style>
9
+ <StainlessAccordion.Group>
10
+ <slot />
11
+ </StainlessAccordion.Group>
@@ -16,51 +16,49 @@ const { cols } = Astro.props;
16
16
  </div>
17
17
 
18
18
  <style>
19
- @layer stl-ui-mintlify-compat {
20
- .stl-ui-mintlify-compat-columns {
21
- display: grid;
22
- gap: 1rem;
23
- grid-template-columns: 1fr;
19
+ .stl-ui-mintlify-compat-columns {
20
+ display: grid;
21
+ gap: 1rem;
22
+ grid-template-columns: 1fr;
24
23
 
25
- > [data-stl-ui-element] {
26
- margin: 0;
27
- }
24
+ > [data-stl-ui-element] {
25
+ margin: 0;
28
26
  }
27
+ }
29
28
 
30
- @media (min-width: 50rem) {
31
- .stl-ui-mintlify-compat-columns--2 {
32
- grid-template-columns: repeat(2, minmax(0, 1fr));
33
- }
34
- .stl-ui-mintlify-compat-columns--3 {
35
- grid-template-columns: repeat(3, minmax(0, 1fr));
36
- }
37
- .stl-ui-mintlify-compat-columns--4 {
38
- grid-template-columns: repeat(4, minmax(0, 1fr));
39
- }
40
- .stl-ui-mintlify-compat-columns--5 {
41
- grid-template-columns: repeat(5, minmax(0, 1fr));
42
- }
43
- .stl-ui-mintlify-compat-columns--6 {
44
- grid-template-columns: repeat(6, minmax(0, 1fr));
45
- }
46
- .stl-ui-mintlify-compat-columns--7 {
47
- grid-template-columns: repeat(7, minmax(0, 1fr));
48
- }
49
- .stl-ui-mintlify-compat-columns--8 {
50
- grid-template-columns: repeat(8, minmax(0, 1fr));
51
- }
52
- .stl-ui-mintlify-compat-columns--9 {
53
- grid-template-columns: repeat(9, minmax(0, 1fr));
54
- }
55
- .stl-ui-mintlify-compat-columns--10 {
56
- grid-template-columns: repeat(10, minmax(0, 1fr));
57
- }
58
- .stl-ui-mintlify-compat-columns--11 {
59
- grid-template-columns: repeat(11, minmax(0, 1fr));
60
- }
61
- .stl-ui-mintlify-compat-columns--12 {
62
- grid-template-columns: repeat(12, minmax(0, 1fr));
63
- }
29
+ @media (min-width: 50rem) {
30
+ .stl-ui-mintlify-compat-columns--2 {
31
+ grid-template-columns: repeat(2, minmax(0, 1fr));
32
+ }
33
+ .stl-ui-mintlify-compat-columns--3 {
34
+ grid-template-columns: repeat(3, minmax(0, 1fr));
35
+ }
36
+ .stl-ui-mintlify-compat-columns--4 {
37
+ grid-template-columns: repeat(4, minmax(0, 1fr));
38
+ }
39
+ .stl-ui-mintlify-compat-columns--5 {
40
+ grid-template-columns: repeat(5, minmax(0, 1fr));
41
+ }
42
+ .stl-ui-mintlify-compat-columns--6 {
43
+ grid-template-columns: repeat(6, minmax(0, 1fr));
44
+ }
45
+ .stl-ui-mintlify-compat-columns--7 {
46
+ grid-template-columns: repeat(7, minmax(0, 1fr));
47
+ }
48
+ .stl-ui-mintlify-compat-columns--8 {
49
+ grid-template-columns: repeat(8, minmax(0, 1fr));
50
+ }
51
+ .stl-ui-mintlify-compat-columns--9 {
52
+ grid-template-columns: repeat(9, minmax(0, 1fr));
53
+ }
54
+ .stl-ui-mintlify-compat-columns--10 {
55
+ grid-template-columns: repeat(10, minmax(0, 1fr));
56
+ }
57
+ .stl-ui-mintlify-compat-columns--11 {
58
+ grid-template-columns: repeat(11, minmax(0, 1fr));
59
+ }
60
+ .stl-ui-mintlify-compat-columns--12 {
61
+ grid-template-columns: repeat(12, minmax(0, 1fr));
64
62
  }
65
63
  }
66
64
  </style>
@@ -12,26 +12,24 @@ const { caption } = Astro.props;
12
12
  </div>
13
13
 
14
14
  <style>
15
- @layer stl-ui-mintlify-compat {
16
- .stl-ui-mintlify-compat-frame {
17
- padding: 6px;
18
- border-radius: 10px;
19
- background-color: var(--sl-color-gray-7);
20
- border: 1px solid var(--sl-color-gray-6);
15
+ .stl-ui-mintlify-compat-frame {
16
+ padding: 6px;
17
+ border-radius: 10px;
18
+ background-color: var(--stl-color-ui-background);
19
+ border: 1px solid var(--stl-color-border);
21
20
 
22
- .stl-ui-mintlify-compat-frame-content {
23
- border-radius: 8px;
24
- overflow: hidden;
25
- }
21
+ .stl-ui-mintlify-compat-frame-content {
22
+ border-radius: 8px;
23
+ overflow: hidden;
24
+ }
26
25
 
27
- .stl-ui-mintlify-compat-frame-caption {
28
- text-align: center;
29
- padding-top: 12px;
30
- padding-bottom: 6px;
31
- font-size: var(--sl-text-body);
32
- color: var(--sl-color-gray-3);
33
- line-height: 100%;
34
- }
26
+ .stl-ui-mintlify-compat-frame-caption {
27
+ text-align: center;
28
+ padding-top: 12px;
29
+ padding-bottom: 6px;
30
+ font-size: var(--stl-typography-scale-base);
31
+ color: var(--stl-color-foreground-reduced);
32
+ line-height: 100%;
35
33
  }
36
34
  }
37
35
  </style>
@@ -1,7 +1,14 @@
1
1
  ---
2
- import { Aside } from '@astrojs/starlight/components';
2
+ import { Callout as StainlessCallout, type CalloutVariant } from '@stainless-api/ui-primitives';
3
+
4
+ export interface Props {
5
+ variant?: CalloutVariant;
6
+ children: astroHTML.JSX.Children;
7
+ }
8
+
9
+ const { variant } = Astro.props;
3
10
  ---
4
11
 
5
- <Aside>
12
+ <StainlessCallout variant={variant}>
6
13
  <slot />
7
- </Aside>
14
+ </StainlessCallout>
@@ -1,7 +1,11 @@
1
1
  ---
2
- import { Aside } from '@astrojs/starlight/components';
2
+ import { Callout } from '@stainless-api/ui-primitives';
3
+
4
+ export interface Props {
5
+ children: astroHTML.JSX.Children;
6
+ }
3
7
  ---
4
8
 
5
- <Aside>
9
+ <Callout variant="success">
6
10
  <slot />
7
- </Aside>
11
+ </Callout>
@@ -1,7 +1,11 @@
1
1
  ---
2
- import { Aside } from '@astrojs/starlight/components';
2
+ import { Callout } from '@stainless-api/ui-primitives';
3
+
4
+ export interface Props {
5
+ children: astroHTML.JSX.Children;
6
+ }
3
7
  ---
4
8
 
5
- <Aside type="danger">
9
+ <Callout variant="danger">
6
10
  <slot />
7
- </Aside>
11
+ </Callout>
@@ -1,7 +1,11 @@
1
1
  ---
2
- import { Aside } from '@astrojs/starlight/components';
2
+ import { Callout } from '@stainless-api/ui-primitives';
3
+
4
+ export interface Props {
5
+ children: astroHTML.JSX.Children;
6
+ }
3
7
  ---
4
8
 
5
- <Aside>
9
+ <Callout variant="info">
6
10
  <slot />
7
- </Aside>
11
+ </Callout>
@@ -1,7 +1,11 @@
1
1
  ---
2
- import { Aside } from '@astrojs/starlight/components';
2
+ import { Callout } from '@stainless-api/ui-primitives';
3
+
4
+ export interface Props {
5
+ children: astroHTML.JSX.Children;
6
+ }
3
7
  ---
4
8
 
5
- <Aside>
9
+ <Callout variant="note">
6
10
  <slot />
7
- </Aside>
11
+ </Callout>
@@ -1,7 +1,11 @@
1
1
  ---
2
- import { Aside } from '@astrojs/starlight/components';
2
+ import { Callout } from '@stainless-api/ui-primitives';
3
+
4
+ export interface Props {
5
+ children: astroHTML.JSX.Children;
6
+ }
3
7
  ---
4
8
 
5
- <Aside type="tip">
9
+ <Callout variant="tip">
6
10
  <slot />
7
- </Aside>
11
+ </Callout>
@@ -1,7 +1,11 @@
1
1
  ---
2
- import { Aside } from '@astrojs/starlight/components';
2
+ import { Callout } from '@stainless-api/ui-primitives';
3
+
4
+ export interface Props {
5
+ children: astroHTML.JSX.Children;
6
+ }
3
7
  ---
4
8
 
5
- <Aside type="caution">
9
+ <Callout variant="warning">
6
10
  <slot />
7
- </Aside>
11
+ </Callout>
@@ -1,44 +1,42 @@
1
- @layer stl-ui-mintlify-compat {
2
- .stl-ui-mintlify-compat-card {
3
- border-radius: 12px;
4
- padding: 16px;
5
- font-size: var(--sl-text-body);
6
- display: flex;
7
- gap: 8px;
8
- border: 1px solid var(--sl-color-hairline);
9
- flex-direction: column;
1
+ .stl-ui-mintlify-compat-card {
2
+ border-radius: 12px;
3
+ padding: 16px;
4
+ font-size: var(--stl-typography-scale-base);
5
+ display: flex;
6
+ gap: 8px;
7
+ border: 1px solid var(--stl-color-border);
8
+ flex-direction: column;
10
9
 
11
- .stl-ui-mintlify-compat-card-icon svg {
12
- color: var(--sl-color-accent);
13
- }
10
+ .stl-ui-mintlify-compat-card-icon svg {
11
+ color: var(--sl-color-accent);
12
+ }
14
13
 
15
- .stl-ui-mintlify-compat-card-title {
16
- font-weight: 600;
17
- font-size: 1.125rem;
18
- display: flex;
19
- align-items: center;
20
- gap: 8px;
21
- margin-top: 8px;
22
- }
14
+ .stl-ui-mintlify-compat-card-title {
15
+ font-weight: 600;
16
+ font-size: 1.125rem;
17
+ display: flex;
18
+ align-items: center;
19
+ gap: 8px;
20
+ margin-top: 8px;
21
+ }
23
22
 
24
- .stl-ui-mintlify-compat-card-content {
25
- margin-top: 0;
26
- color: var(--sl-color-text-secondary);
27
- }
23
+ .stl-ui-mintlify-compat-card-content {
24
+ margin-top: 0;
25
+ color: var(--stl-color-foreground-reduced);
28
26
  }
27
+ }
29
28
 
30
- a.stl-ui-mintlify-compat-card {
31
- text-decoration: none;
32
- color: var(--sl-color-text-secondary);
29
+ a.stl-ui-mintlify-compat-card {
30
+ text-decoration: none;
31
+ color: var(--stl-color-foreground-reduced);
33
32
 
34
- &:hover {
35
- border-color: var(--sl-color-accent);
36
- }
33
+ &:hover {
34
+ border-color: var(--sl-color-accent);
37
35
  }
36
+ }
38
37
 
39
- .stl-ui-mintlify-compat-card-group {
40
- display: grid;
41
- gap: 1rem;
42
- grid-template-columns: repeat(2, minmax(0, 1fr));
43
- }
38
+ .stl-ui-mintlify-compat-card-group {
39
+ display: grid;
40
+ gap: 1rem;
41
+ grid-template-columns: repeat(2, minmax(0, 1fr));
44
42
  }
@@ -3,13 +3,11 @@ import Tab from './Tab.astro';
3
3
  import Tabs from './Tabs.astro';
4
4
  import Frame from './Frame.astro';
5
5
  import Columns from './Columns.astro';
6
- import Steps from './Steps.astro';
7
- import Step from './Step.astro';
8
6
  import Accordion from './Accordion.astro';
9
7
  import AccordionGroup from './AccordionGroup.astro';
10
8
 
11
9
  export * from './callouts';
12
10
  export * from './Card';
13
11
 
14
- export { Tab, Tabs, Frame, Columns, Steps, Step, AccordionGroup, Accordion };
15
- export { Button } from '@stainless-api/ui-primitives';
12
+ export { Tab, Tabs, Frame, Columns, AccordionGroup, Accordion };
13
+ export { Button, Steps, Step } from '@stainless-api/ui-primitives';
@@ -1,81 +1,52 @@
1
1
  ---
2
- import {
3
- Dropdown,
4
- DropdownTrigger,
5
- DropdownMenu,
6
- DropdownItem,
7
- } from '@stainless-api/docs-ui/src/components/dropdown';
8
- import { Icon } from '@astrojs/starlight/components';
2
+ import { Dropdown } from '@stainless-api/docs/components';
9
3
  import { buildNavLinks } from './buildNavLinks';
10
-
11
- export interface Props {
12
- useHamburgerIcon?: boolean;
13
- }
14
-
15
- const { useHamburgerIcon = false } = Astro.props as Props;
16
- const BUTTON_ID = 'nav-dropdown-button';
4
+ import { ChevronsUpDownIcon } from 'lucide-react';
17
5
 
18
6
  const navLinks = buildNavLinks(Astro.locals.starlightRoute);
19
7
 
20
- const buttonText = (navLinks.find((item) => item.active) ?? navLinks[0]).label;
8
+ const buttonText = (navLinks.find((item) => item.active) ?? navLinks[0]!).label;
21
9
  ---
22
10
 
23
- <div class="stldocs-root nav-dropdown-root">
24
- <Dropdown id="nav-dropdown">
25
- <DropdownTrigger
26
- className={`dropdown-toggle stldocs-button-tertiary nav-dropdown-button`}
27
- type="button"
28
- id={BUTTON_ID}
29
- aria-expanded="false"
30
- withChevron={!useHamburgerIcon}
31
- isIcon
32
- >
33
- {useHamburgerIcon ? <Icon name="bars" size="16px" /> : buttonText}
34
- </DropdownTrigger>
35
- <DropdownMenu className="dropdown-menu" position="below" aria-labelledby={BUTTON_ID}>
36
- {
37
- navLinks.map((item) => (
38
- <DropdownItem key={item.link} href={item.link} className="dropdown-item">
39
- {item.label}
40
- </DropdownItem>
41
- ))
42
- }
43
- </DropdownMenu>
44
- </Dropdown>
45
- </div>
11
+ <Dropdown id="nav-dropdown" className="nav-dropdown-root">
12
+ <Dropdown.Trigger>
13
+ <Dropdown.TriggerSelectedItem>{buttonText}</Dropdown.TriggerSelectedItem>
14
+ <Dropdown.TriggerIcon>
15
+ <ChevronsUpDownIcon size={16} />
16
+ </Dropdown.TriggerIcon>
17
+ </Dropdown.Trigger>
18
+ <Dropdown.Menu className="dropdown-menu">
19
+ {
20
+ navLinks.map((item) => (
21
+ <Dropdown.MenuItem
22
+ key={item.link}
23
+ href={item.link}
24
+ className="dropdown-item"
25
+ value={item.label}
26
+ isSelected={item.label === buttonText}
27
+ >
28
+ {item.label}
29
+ <Dropdown.MenuItemTemplate>{item.label}</Dropdown.MenuItemTemplate>
30
+ </Dropdown.MenuItem>
31
+ ))
32
+ }
33
+ </Dropdown.Menu>
34
+ </Dropdown>
46
35
 
47
36
  <script>
48
- import { initDropdown } from '@stainless-api/docs-ui/src/components/scripts/dropdown';
37
+ import { initDropdown } from '@stainless-api/docs/components/scripts';
49
38
  import { getPageLoadEvent } from '../../../plugin/helpers/getPageLoadEvent';
50
39
 
51
40
  document.addEventListener(getPageLoadEvent(), () => {
52
41
  initDropdown({
53
- dropdownId: 'nav-dropdown',
54
- isFixed: true,
42
+ root: document.getElementById('nav-dropdown'),
55
43
  });
56
44
  });
57
45
  </script>
58
- <style is:global>
59
- .nav-dropdown-root .dropdown-menu.stldocs-dropdown-menu {
60
- display: none;
61
- position: fixed;
62
- z-index: 1000;
63
- width: 200px;
64
- margin: 0.125rem 0 0;
65
- font-size: 1rem;
66
- text-align: left;
67
- list-style: none;
68
- background-clip: padding-box;
69
- }
70
-
71
- .nav-dropdown-root .dropdown-menu.open {
72
- display: block;
73
- }
74
- </style>
75
46
 
76
47
  <style>
77
48
  :root {
78
- --menu-font-size: calc(var(--sl-text-body) * 0.9);
49
+ --menu-font-size: calc(var(--stl-typography-scale-base) * 0.9);
79
50
  }
80
51
 
81
52
  .dropdown {
@@ -83,24 +54,9 @@ const buttonText = (navLinks.find((item) => item.active) ?? navLinks[0]).label;
83
54
  }
84
55
 
85
56
  .dropdown-item {
86
- clear: both;
87
- color: var(--sl-color-text);
57
+ color: inherit;
88
58
  text-align: inherit;
89
59
  text-decoration: none;
90
60
  white-space: nowrap;
91
61
  }
92
-
93
- .dropdown-item:focus {
94
- color: #1e2125;
95
- background-color: #e9ecef;
96
- }
97
-
98
- .nav-dropdown-root {
99
- background-color: var(--sl-color-bg-nav);
100
- }
101
-
102
- .nav-dropdown-button {
103
- color: var(--sl-color-text);
104
- font-weight: 500;
105
- }
106
62
  </style>