@stainless-api/docs 0.1.0-beta.10 → 0.1.0-beta.12

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 CHANGED
@@ -1,5 +1,22 @@
1
1
  # @stainless-api/docs
2
2
 
3
+ ## 0.1.0-beta.12
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [3e44a9c]
8
+ - @stainless-api/ui-primitives@0.1.0-beta.10
9
+ - @stainless-api/docs-ui@0.1.0-beta.9
10
+
11
+ ## 0.1.0-beta.11
12
+
13
+ ### Patch Changes
14
+
15
+ - c96f895: Remove css layers, update sidebar styles, add new prose elements
16
+ - Updated dependencies [c96f895]
17
+ - @stainless-api/docs-ui@0.1.0-beta.8
18
+ - @stainless-api/ui-primitives@0.1.0-beta.9
19
+
3
20
  ## 0.1.0-beta.10
4
21
 
5
22
  ### Patch Changes
@@ -71,29 +71,6 @@
71
71
  --stldocs-expander-right-margin: 8px;
72
72
  --stldocs-font-size-body: 14px;
73
73
  --stldocs-font-size-body-xs: 12px;
74
-
75
- /* UI Overrides */
76
- --stl-ui-button-border-radius: var(--sl-button-border-radius);
77
- --stl-ui-text-body: var(--sl-text-sm);
78
- --stl-ui-button-size: var(--sl-button-size);
79
-
80
- --stl-ui-color-accent-low: var(--sl-color-accent-low);
81
- --stl-ui-color-accent: var(--sl-color-accent);
82
- --stl-ui-color-accent-high: var(--sl-color-accent-high);
83
-
84
- --stl-ui-color-text: var(--sl-color-text);
85
- --stl-ui-color-text-secondary: var(--sl-color-text-secondary);
86
- --stl-ui-color-text-tertiary: var(--sl-color-text-tertiary);
87
- --stl-ui-color-text-invert: var(--sl-color-text-invert);
88
- --stl-ui-color-text-accent: var(--sl-color-text-accent);
89
-
90
- --stl-ui-color-bg: var(--sl-color-bg);
91
- --stl-ui-color-bg-ui: var(--sl-color-bg-ui);
92
- --stl-ui-color-bg-inline-code: var(--sl-color-bg-inline-code);
93
-
94
- --stl-ui-color-hairline-light: var(--sl-color-hairline-light);
95
- --stl-ui-color-hairline: var(--sl-color-hairline);
96
- --stl-ui-color-hairline-shade: var(--sl-color-hairline-shade);
97
74
  }
98
75
 
99
76
  /* These are the theme overrides - we need to come up with a good way to do this in starlight */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stainless-api/docs",
3
- "version": "0.1.0-beta.10",
3
+ "version": "0.1.0-beta.12",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -55,8 +55,8 @@
55
55
  "shiki": "^3.9.2",
56
56
  "web-worker": "^1.5.0",
57
57
  "yaml": "^2.8.0",
58
- "@stainless-api/docs-ui": "0.1.0-beta.7",
59
- "@stainless-api/ui-primitives": "0.1.0-beta.8"
58
+ "@stainless-api/ui-primitives": "0.1.0-beta.10",
59
+ "@stainless-api/docs-ui": "0.1.0-beta.9"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@markdoc/markdoc": "^0.5.2",
@@ -8,6 +8,7 @@ import style from '@stainless-api/docs-ui/src/style';
8
8
  import * as cheerio from 'cheerio/slim';
9
9
  import { EXPERIMENTAL_COLLAPSIBLE_SNIPPETS } from 'virtual:stl-starlight-virtual-module';
10
10
  import clsx from 'clsx';
11
+ import { Button } from '@stainless-api/ui-primitives';
11
12
  /*
12
13
  * This may be replaced by additional data from the sdk.
13
14
  * Without information from the sdk, we use simple heuristics per language.
@@ -130,12 +131,14 @@ export function SnippetRequestContainer({ children, signature }: SnippetRequestC
130
131
  <div className="stl-snippet-request-container">
131
132
  {children}
132
133
  {signature && isCollapsible && (
133
- <button
134
- className={clsx(style.Button, style.ButtonSecondary, 'stl-snippet-expand-button')}
134
+ <Button
135
+ className={'stl-snippet-expand-button'}
135
136
  id="stl-snippet-expand-button"
137
+ size="sm"
138
+ variant="outline"
136
139
  >
137
140
  Show more
138
- </button>
141
+ </Button>
139
142
  )}
140
143
  </div>
141
144
  );
package/plugin/index.ts CHANGED
@@ -165,6 +165,24 @@ async function stlStarlightAstroIntegration(
165
165
  prerender: command === 'build',
166
166
  });
167
167
 
168
+ // Remove starlight callout syntax in favor of our own callout component
169
+ // updateConfig always deeply merges arrays so we need to mutate remarkPlugins directly
170
+ // in order to remove plugins that starlight added
171
+ astroConfig.markdown.remarkPlugins = astroConfig.markdown.remarkPlugins.filter((plugin, i, arr) => {
172
+ if (typeof plugin !== 'function') return true;
173
+ // remove:
174
+ // 1. remarkDirective plugin
175
+ if (plugin.name === 'remarkDirective') return false;
176
+ // 2. directly followed by remarkAsides plugin (inner function named 'attacher')
177
+ if (plugin.name === 'attacher') {
178
+ const prev = arr[i - 1];
179
+ if (typeof prev === 'function' && prev.name === 'remarkDirective') return false;
180
+ }
181
+ // 3. remarkDirectivesRestoration plugin
182
+ if (plugin.name === 'remarkDirectivesRestoration') return false;
183
+ return true;
184
+ });
185
+
168
186
  updateConfig({
169
187
  vite: {
170
188
  ssr: {
@@ -180,7 +180,7 @@ export function SDKSelectReactComponent({
180
180
  return (
181
181
  <Dropdown id={id} data-current-value={selected} className={className}>
182
182
  <DropdownTrigger
183
- className="dropdown-toggle stldocs-button-tertiary"
183
+ className="dropdown-toggle"
184
184
  type="button"
185
185
  id="stldocs-snippet-title-button"
186
186
  aria-expanded="false"
@@ -1,14 +1,6 @@
1
1
  ---
2
2
  import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro";
3
3
  import { cmsClient } from "../cms/client";
4
-
5
- import "@stainless-api/docs-ui/src/styles/resets.css";
6
- import "@stainless-api/docs-ui/src/styles/primitives.css";
7
- import "@stainless-api/docs-ui/src/styles/main.css";
8
- import "@stainless-api/docs-ui/src/styles/snippets.css";
9
- // TODO: fix variables.css import
10
- // import "./variables.css";
11
-
12
4
  import {
13
5
  getReadmeContent,
14
6
  generateDocsRoutes,
@@ -3,13 +3,6 @@ import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro';
3
3
  import { BASE_PATH, EXCLUDE_LANGUAGES } from 'virtual:stl-starlight-virtual-module';
4
4
  import { cmsClient } from '../cms/client';
5
5
  import type { DocsLanguage } from '@stainless-api/docs-ui/src/routing';
6
-
7
- import '@stainless-api/docs-ui/src/styles/resets.css';
8
- import '@stainless-api/docs-ui/src/styles/primitives.css';
9
- import '@stainless-api/docs-ui/src/styles/main.css';
10
- import '@stainless-api/docs-ui/src/styles/snippets.css';
11
- // TODO: fix variables.css import
12
- // import '../components/variables.css';
13
6
  import { RenderLibraries, RenderSpecOverview, type SpecMetadata } from '../react/Routing';
14
7
 
15
8
  const spec = await cmsClient.getSpec();
@@ -34,7 +27,7 @@ const metadata = languages
34
27
  >
35
28
  <h3>Libraries</h3>
36
29
 
37
- <div class="stldocs-root language-blocks stl-ui-not-prose">
30
+ <div class="stldocs-root language-blocks stl-ui-not-prose not-content">
38
31
  <RenderLibraries metadata={metadata} />
39
32
  </div>
40
33
 
@@ -1,5 +1,10 @@
1
1
  ---
2
- import { Dropdown, DropdownTrigger, DropdownMenu, DropdownItem } from '@stainless-api/docs-ui/src/components/dropdown';
2
+ import {
3
+ Dropdown,
4
+ DropdownTrigger,
5
+ DropdownMenu,
6
+ DropdownItem,
7
+ } from '@stainless-api/docs-ui/src/components/dropdown';
3
8
 
4
9
  const options = [
5
10
  {
@@ -204,6 +209,7 @@ const options = [
204
209
  display: flex;
205
210
  }
206
211
  }
212
+ .stldocs-root .stl-dropdown-icon,
207
213
  .stl-dropdown-icon {
208
214
  display: flex;
209
215
  align-items: center;
@@ -212,6 +218,7 @@ const options = [
212
218
  height: 16px;
213
219
  }
214
220
 
221
+ .stldocs-root span.stl-dropdown-icon,
215
222
  span.stl-dropdown-icon,
216
223
  span.stl-dropdown-chevron {
217
224
  padding-left: 0;
@@ -37,15 +37,12 @@ const currentPath = Astro.url.pathname;
37
37
  }
38
38
  }
39
39
  }
40
- /* Overrides */
41
- @layer stainless {
42
- .content-panel {
43
- padding: 0 0.5rem 0 var(--sl-content-pad-x);
44
- }
40
+ .content-panel {
41
+ padding: 0 0.5rem 0 var(--sl-content-pad-x);
42
+ }
45
43
 
46
- .stl-prose-page-nav-container {
47
- padding: 1rem 0 0;
48
- }
44
+ .stl-prose-page-nav-container {
45
+ padding: 1rem 0 0;
49
46
  }
50
47
  </style>
51
48
 
@@ -48,7 +48,7 @@ const { hasSidebar } = Astro.locals.starlightRoute;
48
48
  }
49
49
  @media (min-width: 50rem) {
50
50
  :root {
51
- --sl-nav-height: 88px;
51
+ --sl-nav-height: 80px;
52
52
  }
53
53
 
54
54
  header.header {
@@ -5,9 +5,11 @@ export interface Props {
5
5
  }
6
6
 
7
7
  const { title } = Astro.props;
8
+
9
+ import { Accordion as StainlessAccordion } from '@stainless-api/ui-primitives';
8
10
  ---
9
11
 
10
- <details>
11
- <summary>{title}</summary>
12
+ <StainlessAccordion>
13
+ <StainlessAccordion.Summary>{title}</StainlessAccordion.Summary>
12
14
  <slot />
13
- </details>
15
+ </StainlessAccordion>
@@ -1,11 +1,11 @@
1
1
  ---
2
- import { DetailsGroup } from '@stainless-api/ui-primitives';
2
+ import { Accordion as StainlessAccordion } from '@stainless-api/ui-primitives';
3
3
 
4
4
  export interface Props {
5
5
  children: astroHTML.JSX.Children;
6
6
  }
7
7
  ---
8
8
 
9
- <DetailsGroup>
9
+ <StainlessAccordion.Group>
10
10
  <slot />
11
- </DetailsGroup>
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(--sl-color-gray-7);
19
+ border: 1px solid var(--sl-color-gray-6);
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(--sl-text-body);
31
+ color: var(--sl-color-gray-3);
32
+ line-height: 100%;
35
33
  }
36
34
  }
37
35
  </style>
@@ -15,44 +15,42 @@ const { title } = Astro.props;
15
15
  </li>
16
16
 
17
17
  <style>
18
- @layer stl-ui-mintlify-compat {
19
- .stl-ui-mintlify-compat-step {
20
- display: flex;
18
+ .stl-ui-mintlify-compat-step {
19
+ display: flex;
21
20
 
22
- &:not(:first-child) {
23
- margin-top: 1rem;
24
- }
21
+ &:not(:first-child) {
22
+ margin-top: 1rem;
25
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;
26
32
 
27
- .stl-ui-mintlify-compat-step-step-number {
28
- margin-right: 1rem;
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);
29
43
  display: flex;
30
- align-items: top;
44
+ align-items: center;
31
45
  justify-content: center;
32
- margin-top: 4px;
33
-
34
- &::before {
35
- counter-increment: ui-steps;
36
- content: counter(ui-steps);
37
- border-radius: 50%;
38
- height: 1.5rem;
39
- width: 1.5rem;
40
- font-size: 0.8rem;
41
- color: var(--sl-color-text);
42
- font-weight: 600;
43
- background-color: var(--sl-color-gray-5);
44
- display: flex;
45
- align-items: center;
46
- justify-content: center;
47
- }
48
46
  }
47
+ }
49
48
 
50
- .stl-ui-mintlify-compat-step-title {
51
- font-weight: 600;
52
- color: var(--sl-color-text);
53
- }
54
- .stl-ui-mintlify-compat-step-content {
55
- margin-top: 0.5rem;
56
- }
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;
57
55
  }
58
56
  </style>
@@ -1,17 +1,15 @@
1
1
  <ol class="stl-ui-mintlify-compat-steps"><slot /></ol>
2
2
 
3
3
  <style>
4
- @layer stl-ui-mintlify-compat {
5
- .stl-ui-mintlify-compat-steps {
6
- counter-reset: ui-steps;
7
- list-style: none;
8
- margin: 0;
9
- padding: 0;
10
- margin-top: 1rem;
4
+ .stl-ui-mintlify-compat-steps {
5
+ counter-reset: ui-steps;
6
+ list-style: none;
7
+ margin: 0;
8
+ padding: 0;
9
+ margin-top: 1rem;
11
10
 
12
- * {
13
- margin: 0;
14
- }
11
+ * {
12
+ margin: 0;
15
13
  }
16
14
  }
17
15
  </style>
@@ -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;
10
-
11
- .stl-ui-mintlify-compat-card-icon svg {
12
- color: var(--sl-color-accent);
13
- }
1
+ .stl-ui-mintlify-compat-card {
2
+ border-radius: 12px;
3
+ padding: 16px;
4
+ font-size: var(--sl-text-body);
5
+ display: flex;
6
+ gap: 8px;
7
+ border: 1px solid var(--sl-color-hairline);
8
+ flex-direction: column;
14
9
 
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
- }
10
+ .stl-ui-mintlify-compat-card-icon svg {
11
+ color: var(--sl-color-accent);
12
+ }
23
13
 
24
- .stl-ui-mintlify-compat-card-content {
25
- margin-top: 0;
26
- color: var(--sl-color-text-secondary);
27
- }
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;
28
21
  }
29
22
 
30
- a.stl-ui-mintlify-compat-card {
31
- text-decoration: none;
23
+ .stl-ui-mintlify-compat-card-content {
24
+ margin-top: 0;
32
25
  color: var(--sl-color-text-secondary);
33
-
34
- &:hover {
35
- border-color: var(--sl-color-accent);
36
- }
37
26
  }
27
+ }
28
+
29
+ a.stl-ui-mintlify-compat-card {
30
+ text-decoration: none;
31
+ color: var(--sl-color-text-secondary);
38
32
 
39
- .stl-ui-mintlify-compat-card-group {
40
- display: grid;
41
- gap: 1rem;
42
- grid-template-columns: repeat(2, minmax(0, 1fr));
33
+ &:hover {
34
+ border-color: var(--sl-color-accent);
43
35
  }
44
36
  }
37
+
38
+ .stl-ui-mintlify-compat-card-group {
39
+ display: grid;
40
+ gap: 1rem;
41
+ grid-template-columns: repeat(2, minmax(0, 1fr));
42
+ }
@@ -1,5 +1,10 @@
1
1
  ---
2
- import { Dropdown, DropdownTrigger, DropdownMenu, DropdownItem } from '@stainless-api/docs-ui/src/components/dropdown';
2
+ import {
3
+ Dropdown,
4
+ DropdownTrigger,
5
+ DropdownMenu,
6
+ DropdownItem,
7
+ } from '@stainless-api/docs-ui/src/components/dropdown';
3
8
  import { Icon } from '@astrojs/starlight/components';
4
9
  import { buildNavLinks } from './buildNavLinks';
5
10
 
@@ -56,7 +56,6 @@ const navLinks = buildNavLinks(Astro.locals.starlightRoute);
56
56
  @media (min-width: 50rem) {
57
57
  .stl-secondary-nav-tabs {
58
58
  display: block;
59
- padding-left: 0.55rem;
60
59
  }
61
60
  }
62
61
  </style>