@stainless-api/docs-ui 0.1.0-beta.6 → 0.1.0-beta.61

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 (206) hide show
  1. package/dist/breadcrumbs-BVskoBYz.d.ts +25 -0
  2. package/dist/breadcrumbs-C9LLJyuJ.d.ts +25 -0
  3. package/dist/breadcrumbs-CqA6kow2.js +63 -0
  4. package/dist/chunk-BN_g-Awi.js +18 -0
  5. package/dist/cli-0bJ66S1r.js +157 -0
  6. package/dist/component-CjJJYIxG.js +23 -0
  7. package/dist/component-generics-BC_P155r.d.ts +30 -0
  8. package/dist/component-generics-BkwbbxJF.d.ts +30 -0
  9. package/dist/component-generics-POFirVVb.js +45 -0
  10. package/dist/components/MaskedInput.d.ts +14 -0
  11. package/dist/components/MaskedInput.js +76 -0
  12. package/dist/components/breadcrumbs.d.ts +2 -0
  13. package/dist/components/breadcrumbs.js +9 -0
  14. package/dist/components/icons.d.ts +60 -0
  15. package/dist/components/icons.js +3 -0
  16. package/dist/components/index.d.ts +10 -0
  17. package/dist/components/index.js +18 -0
  18. package/dist/components/method.d.ts +2 -0
  19. package/dist/components/method.js +10 -0
  20. package/dist/components/overview.d.ts +2 -0
  21. package/dist/components/overview.js +11 -0
  22. package/dist/components/primitives.d.ts +2 -0
  23. package/dist/components/primitives.js +8 -0
  24. package/dist/components/properties.d.ts +2 -0
  25. package/dist/components/properties.js +9 -0
  26. package/dist/components/sdk.d.ts +2 -0
  27. package/dist/components/sdk.js +10 -0
  28. package/dist/components/sidebar.d.ts +2 -0
  29. package/dist/components/sidebar.js +9 -0
  30. package/dist/components/snippets.d.ts +3 -0
  31. package/dist/components/snippets.js +9 -0
  32. package/dist/components-FEHnQBJC.js +70 -0
  33. package/dist/contexts/component-generics.d.ts +2 -0
  34. package/dist/contexts/component-generics.js +3 -0
  35. package/dist/contexts/component-types.d.ts +16 -0
  36. package/dist/contexts/component-types.js +0 -0
  37. package/dist/contexts/component.d.ts +29 -0
  38. package/dist/contexts/component.js +28 -0
  39. package/dist/contexts/docs.d.ts +2 -0
  40. package/dist/contexts/docs.js +3 -0
  41. package/dist/contexts/index.d.ts +22 -0
  42. package/dist/contexts/index.js +7 -0
  43. package/dist/contexts/markdown.d.ts +2 -0
  44. package/dist/contexts/markdown.js +4 -0
  45. package/dist/contexts/navigation.d.ts +2 -0
  46. package/dist/contexts/navigation.js +3 -0
  47. package/dist/contexts/use-components.d.ts +14 -0
  48. package/dist/contexts/use-components.js +4 -0
  49. package/dist/contexts-CeV_L_Iy.js +39 -0
  50. package/dist/csharp-Dl2RIiYP.js +283 -0
  51. package/dist/docs--qWFuJCM.d.ts +46 -0
  52. package/dist/docs-DSFRsmbQ.d.ts +46 -0
  53. package/dist/docs-Di94viZV.js +54 -0
  54. package/dist/go-DuKdRGqU.js +303 -0
  55. package/dist/http-C7bu4oCl.js +331 -0
  56. package/dist/icons-BYKn5X8E.js +885 -0
  57. package/dist/index-C0qvL4yP.d.ts +15 -0
  58. package/dist/index-DE1vA8T2.d.ts +302 -0
  59. package/dist/index-DsFyACw9.d.ts +15 -0
  60. package/dist/index-FDM-j9s-.d.ts +302 -0
  61. package/dist/index-zNpvNvtN.d.ts +1691 -0
  62. package/dist/index.d.ts +19 -0
  63. package/dist/index.js +30 -7542
  64. package/dist/java-DSyzO-6F.js +403 -0
  65. package/dist/languages/cli.d.ts +11 -0
  66. package/dist/languages/cli.js +20 -0
  67. package/dist/languages/csharp.d.ts +11 -0
  68. package/dist/languages/csharp.js +9 -0
  69. package/dist/languages/go.d.ts +11 -0
  70. package/dist/languages/go.js +9 -0
  71. package/dist/languages/http.d.ts +11 -0
  72. package/dist/languages/http.js +19 -0
  73. package/dist/languages/index.d.ts +11 -0
  74. package/dist/languages/index.js +27 -0
  75. package/dist/languages/java.d.ts +11 -0
  76. package/dist/languages/java.js +9 -0
  77. package/dist/languages/python.d.ts +11 -0
  78. package/dist/languages/python.js +9 -0
  79. package/dist/languages/ruby.d.ts +11 -0
  80. package/dist/languages/ruby.js +9 -0
  81. package/dist/languages/typescript.d.ts +11 -0
  82. package/dist/languages/typescript.js +9 -0
  83. package/dist/languages-BO5YJ6cy.js +28 -0
  84. package/dist/markdown/index.d.ts +12 -0
  85. package/dist/markdown/index.js +105 -0
  86. package/dist/markdown/md.d.ts +15 -0
  87. package/dist/markdown/md.js +41 -0
  88. package/dist/markdown/printer.d.ts +13 -0
  89. package/dist/markdown/printer.js +98 -0
  90. package/dist/markdown/utils.d.ts +21 -0
  91. package/dist/markdown/utils.js +31 -0
  92. package/dist/markdown-B517MrZh.d.ts +22 -0
  93. package/dist/markdown-C7Tb41LZ.d.ts +22 -0
  94. package/dist/markdown-D2JWyRws.js +49 -0
  95. package/dist/method-BaQEZVlw.d.ts +59 -0
  96. package/dist/method-Dln4ZTIB.d.ts +59 -0
  97. package/dist/method-jTnA0G8m.js +90 -0
  98. package/dist/navigation-XhIgqXwM.d.ts +29 -0
  99. package/dist/navigation-aoYZ_tl4.js +24 -0
  100. package/dist/navigation-rKdts-BR.d.ts +29 -0
  101. package/dist/overview-B3kgyac2.d.ts +39 -0
  102. package/dist/overview-BnagZfH1.js +139 -0
  103. package/dist/overview-Dp-gGl3v.d.ts +39 -0
  104. package/dist/primitives-B6zu2rrx.d.ts +105 -0
  105. package/dist/primitives-DQLc9kN7.js +250 -0
  106. package/dist/primitives-VtUGoYwX.d.ts +105 -0
  107. package/dist/properties-Bun4nfUE.d.ts +54 -0
  108. package/dist/properties-DGL2J11L.js +131 -0
  109. package/dist/properties-ZOIqpkET.d.ts +54 -0
  110. package/dist/python-D8ABqtn1.js +269 -0
  111. package/dist/routing-Ce0_tBW6.js +197 -0
  112. package/dist/routing-CtbZJru_.d.ts +54 -0
  113. package/dist/routing.d.ts +2 -0
  114. package/dist/routing.js +3 -180
  115. package/dist/ruby-261jvCjl.js +387 -0
  116. package/dist/sdk-BebFnWYL.d.ts +118 -0
  117. package/dist/sdk-CIxaNoAs.d.ts +118 -0
  118. package/dist/sdk-GGpyGTao.js +338 -0
  119. package/dist/sidebar-BWno0E4w.js +85 -0
  120. package/dist/sidebar-CLsIJZZf.d.ts +36 -0
  121. package/dist/sidebar-D4m_pVpS.d.ts +36 -0
  122. package/dist/snippets-CwVjwsAo.d.ts +53 -0
  123. package/dist/snippets-Ym3mnHO3.d.ts +53 -0
  124. package/dist/snippets-kI8eNs1F.js +164 -0
  125. package/dist/spec.d.ts +65 -0
  126. package/dist/spec.js +167 -0
  127. package/dist/style-LwfvXElj.js +170 -0
  128. package/dist/style.d.ts +169 -0
  129. package/dist/style.js +3 -0
  130. package/dist/styles/main.css +722 -755
  131. package/dist/styles/main.js +0 -0
  132. package/dist/styles/primitives.css +322 -459
  133. package/dist/styles/primitives.js +0 -0
  134. package/dist/styles/resets.css +32 -41
  135. package/dist/styles/resets.js +0 -0
  136. package/dist/styles/search.css +192 -270
  137. package/dist/styles/search.js +0 -0
  138. package/dist/styles/sidebar.css +56 -61
  139. package/dist/styles/sidebar.js +0 -0
  140. package/dist/styles/variables.css +26 -89
  141. package/dist/styles/variables.js +0 -0
  142. package/dist/styles.css +3145 -0
  143. package/dist/styles.mjs +1 -0
  144. package/dist/typescript-D924WidI.js +449 -0
  145. package/dist/use-components-BUz3GbO4.js +7 -0
  146. package/dist/utils-D01mAUfQ.js +32 -0
  147. package/dist/utils.d.ts +14 -0
  148. package/dist/utils.js +3 -0
  149. package/package.json +73 -21
  150. package/dist/mcp.js +0 -16003
  151. package/dist/styles/snippets.css +0 -132
  152. package/src/components/breadcrumbs.tsx +0 -94
  153. package/src/components/chat.tsx +0 -154
  154. package/src/components/dropdown.tsx +0 -91
  155. package/src/components/icons.tsx +0 -584
  156. package/src/components/index.ts +0 -9
  157. package/src/components/method.tsx +0 -144
  158. package/src/components/overview.tsx +0 -159
  159. package/src/components/primitives.tsx +0 -284
  160. package/src/components/properties.tsx +0 -130
  161. package/src/components/scripts/dropdown.ts +0 -78
  162. package/src/components/sdk.tsx +0 -402
  163. package/src/components/sidebar.tsx +0 -99
  164. package/src/components/snippets.tsx +0 -179
  165. package/src/contexts/component-generics.tsx +0 -48
  166. package/src/contexts/component-types.tsx +0 -5
  167. package/src/contexts/component.tsx +0 -32
  168. package/src/contexts/docs.tsx +0 -75
  169. package/src/contexts/index.tsx +0 -17
  170. package/src/contexts/markdown.tsx +0 -43
  171. package/src/contexts/navigation.tsx +0 -44
  172. package/src/contexts/search.tsx +0 -28
  173. package/src/contexts/use-components.tsx +0 -4
  174. package/src/index.ts +0 -6
  175. package/src/languages/go.tsx +0 -281
  176. package/src/languages/http.tsx +0 -321
  177. package/src/languages/index.ts +0 -26
  178. package/src/languages/java.tsx +0 -358
  179. package/src/languages/python.tsx +0 -255
  180. package/src/languages/ruby.tsx +0 -320
  181. package/src/languages/typescript.tsx +0 -393
  182. package/src/markdown/index.ts +0 -107
  183. package/src/markdown/md.ts +0 -45
  184. package/src/markdown/utils.ts +0 -49
  185. package/src/routing.ts +0 -238
  186. package/src/search/form.tsx +0 -127
  187. package/src/search/index.tsx +0 -1
  188. package/src/search/indexer.ts +0 -246
  189. package/src/search/mcp.ts +0 -61
  190. package/src/search/printer.tsx +0 -86
  191. package/src/search/providers/algolia.ts +0 -88
  192. package/src/search/providers/fuse.ts +0 -19
  193. package/src/search/providers/pagefind.ts +0 -17
  194. package/src/search/providers/walker.ts +0 -30
  195. package/src/search/results.tsx +0 -181
  196. package/src/search/state.ts +0 -64
  197. package/src/search/types.ts +0 -116
  198. package/src/style.ts +0 -197
  199. package/src/styles/main.css +0 -993
  200. package/src/styles/primitives.css +0 -573
  201. package/src/styles/resets.css +0 -47
  202. package/src/styles/search.css +0 -342
  203. package/src/styles/sidebar.css +0 -87
  204. package/src/styles/snippets.css +0 -132
  205. package/src/styles/variables.css +0 -90
  206. package/src/utils.ts +0 -41
@@ -0,0 +1,3145 @@
1
+ /* Typography - Stainless */
2
+ @layer stl-ui.tokens {
3
+ :root {
4
+ --stl-typography-font: 'Geist', system-ui, sans-serif;
5
+ --stl-typography-font-mono: 'Geist Mono', ui-monospace, monospace;
6
+ --stl-typography-font-heading: var(--stl-typography-font);
7
+
8
+ --stl-typography-line-height: 1.5;
9
+ --stl-typography-line-height-heading: 1.2;
10
+
11
+ --stl-typography-text-body: var(--stl-typography-scale-base);
12
+ --stl-typography-text-body-sm: var(--stl-typography-scale-sm);
13
+ --stl-typography-text-body-xs: var(--stl-typography-scale-xs);
14
+
15
+ --stl-typography-text-code: max(0.875em, var(--stl-typography-scale-xs));
16
+
17
+ --stl-typography-text-h1: var(--stl-typography-scale-5xl);
18
+ --stl-typography-text-h2: var(--stl-typography-scale-4xl);
19
+ --stl-typography-text-h3: var(--stl-typography-scale-3xl);
20
+ --stl-typography-text-h4: var(--stl-typography-scale-2xl);
21
+ --stl-typography-text-h5: var(--stl-typography-scale-xl);
22
+ --stl-typography-scale-xs: 12px;
23
+ --stl-typography-scale-sm: 14px;
24
+ --stl-typography-scale-base: 16px;
25
+ --stl-typography-scale-lg: 18px;
26
+ --stl-typography-scale-xl: 20px;
27
+ --stl-typography-scale-2xl: 24px;
28
+ --stl-typography-scale-3xl: 29px;
29
+ --stl-typography-scale-4xl: 35px;
30
+ --stl-typography-scale-5xl: 42px;
31
+ --stl-typography-scale-6xl: 64px;
32
+
33
+ --stl-color-text-selection-foreground: /* unset by default; text colors are unchanged */;
34
+ --stl-color-text-selection-background: light-dark(
35
+ rgb(from var(--stl-color-text-selection) r g b / calc(alpha * 0.15)),
36
+ rgb(from var(--stl-color-text-selection) r g b / calc(alpha * 0.35))
37
+ );
38
+ }
39
+ }
40
+
41
+ /* Prose exists in its own sub-layer for easy reverting */
42
+ body {
43
+ font-family: var(--stl-typography-font);
44
+ font-feature-settings:
45
+ 'ss01' on,
46
+ 'ss03' on,
47
+ 'ss04' on,
48
+ 'ss06' on,
49
+ 'ss08' on;
50
+ }
51
+
52
+ .stl-ui-prose {
53
+ letter-spacing: -0.01em;
54
+ font-weight: 400;
55
+ line-height: var(--stl-typography-line-height);
56
+ font-size: var(--stl-typography-text-body);
57
+ color: var(--stl-color-foreground-reduced);
58
+
59
+ :where(.stl-ui-not-prose) {
60
+ letter-spacing: initial;
61
+ font-weight: initial;
62
+ line-height: initial;
63
+ font-size: initial;
64
+ color: initial;
65
+ }
66
+
67
+ &.small {
68
+ font-size: var(--stl-typography-scale-sm);
69
+ letter-spacing: normal;
70
+ }
71
+
72
+ :where(strong:not(.stl-ui-not-prose *), .stl-ui-not-prose .stl-ui-prose strong) {
73
+ color: rgb(from currentColor r g b / 1);
74
+ }
75
+
76
+ :where(a:not(.stl-ui-not-prose *), .stl-ui-not-prose .stl-ui-prose a) {
77
+ color: var(--stl-color-link-foreground);
78
+ text-decoration-color: rgb(from currentColor r g b / calc(alpha * var(--stl-opacity-level-040)));
79
+ transition: text-decoration-color 0.1s ease-out;
80
+ &:hover {
81
+ text-decoration-color: currentColor;
82
+ }
83
+ }
84
+
85
+ :where(h1, h2, h3, h4, h5, h6):where(:not(.stl-ui-not-prose *), .stl-ui-not-prose .stl-ui-prose *) {
86
+ color: var(--stl-color-foreground);
87
+ font-weight: 500;
88
+ line-height: var(--stl-typography-line-height-heading);
89
+ font-family: var(--stl-typography-font-heading);
90
+
91
+ text-wrap: pretty;
92
+ &:where(h1, h2, h3) {
93
+ text-wrap: balance;
94
+ }
95
+ }
96
+
97
+ :where(h1:not(.stl-ui-not-prose *), .stl-ui-not-prose .stl-ui-prose h1) {
98
+ /* Heading 1/Medium */
99
+ font-size: var(--stl-typography-text-h1);
100
+ letter-spacing: -0.03em;
101
+ margin-top: 1.5em;
102
+ }
103
+
104
+ :where(h2:not(.stl-ui-not-prose *), .stl-ui-not-prose .stl-ui-prose h2) {
105
+ /* Heading 2/Medium */
106
+ font-size: var(--stl-typography-text-h2);
107
+ letter-spacing: -0.03em;
108
+ margin-top: 1.35em;
109
+ }
110
+
111
+ :where(h3:not(.stl-ui-not-prose *), .stl-ui-not-prose .stl-ui-prose h3) {
112
+ /* Heading 3/Medium */
113
+ font-size: var(--stl-typography-text-h3);
114
+ letter-spacing: -0.02em;
115
+ margin-top: 1.35em;
116
+ }
117
+
118
+ :where(h4:not(.stl-ui-not-prose *), .stl-ui-not-prose .stl-ui-prose h4) {
119
+ /* Heading 4/Medium */
120
+ font-size: var(--stl-typography-text-h4);
121
+ letter-spacing: -0.02em;
122
+ margin-top: 1.35em;
123
+ }
124
+
125
+ :where(h5:not(.stl-ui-not-prose *), .stl-ui-not-prose .stl-ui-prose h5) {
126
+ /* Heading 5/Medium */
127
+ font-size: var(--stl-typography-text-h5);
128
+ letter-spacing: -0.02em;
129
+ margin-top: 1.2em;
130
+ }
131
+
132
+ :where(li:not(.stl-ui-not-prose *), .stl-ui-not-prose .stl-ui-prose li) {
133
+ &:where(:not(:last-child)) {
134
+ margin-bottom: 8px;
135
+ }
136
+ }
137
+
138
+ &.smaller-headings {
139
+ --stl-typography-text-h1: var(--stl-typography-scale-3xl);
140
+ --stl-typography-text-h2: var(--stl-typography-scale-2xl);
141
+ --stl-typography-text-h3: var(--stl-typography-scale-xl);
142
+ --stl-typography-text-h4: var(--stl-typography-scale-lg);
143
+ --stl-typography-text-h5: var(--stl-typography-scale-base);
144
+
145
+ :where(h1) {
146
+ margin-top: 1.5em;
147
+ }
148
+ :where(h2, h3, h4) {
149
+ margin-top: 1.25em;
150
+ }
151
+ :where(h5) {
152
+ margin-top: 1em;
153
+ }
154
+ }
155
+
156
+ /* code blocks */
157
+ :where(
158
+ pre:not(.stl-ui-not-prose *, .expressive-code *),
159
+ .stl-ui-not-prose .stl-ui-prose pre:not(.expressive-code *)
160
+ ) {
161
+ padding: 12px 20px;
162
+ border-radius: var(--stl-ui-layout-border-radius-sml);
163
+ border: 1px solid var(--stl-color-border);
164
+ background-color: var(--stl-color-faint-background);
165
+ overflow: auto;
166
+ margin-bottom: 1rem;
167
+ }
168
+
169
+ :where(ol, ul) {
170
+ &:where(:not(.stl-ui-not-prose *), .stl-ui-not-prose .stl-ui-prose *) {
171
+ padding-left: 26px;
172
+ }
173
+ }
174
+
175
+ :where(ol, ul, aside, img, figure, details):where(
176
+ :not(.stl-ui-not-prose *),
177
+ .stl-ui-not-prose .stl-ui-prose *
178
+ ) {
179
+ margin-top: 16px;
180
+ }
181
+
182
+ /* all code (inline + block) */
183
+ :where(code):where(:not(.stl-ui-not-prose *), .stl-ui-not-prose .stl-ui-prose *) {
184
+ font-family: var(--stl-typography-font-mono);
185
+ font-feature-settings:
186
+ 'ss01' on,
187
+ 'ss03' on,
188
+ 'ss04' on,
189
+ 'ss06' on;
190
+
191
+ font-size: var(--stl-typography-text-code);
192
+ font-weight: inherit;
193
+ letter-spacing: normal;
194
+
195
+ /* inline code */
196
+ &:where(:not(pre > &)) {
197
+ color: var(--stl-color-foreground);
198
+ padding: 0 0.2em;
199
+ background-color: rgb(from var(--stl-color-foreground) r g b / 0.1);
200
+ border-radius: 0.2em;
201
+ }
202
+
203
+ /* code blocks */
204
+ /* &:where(pre > &) { } */
205
+ }
206
+ }
207
+
208
+ /* _direct_ children of stl-ui-prose should get a margin-top by default for spacing. */
209
+ :where(.stl-ui-prose, .stl-ui-prose > .sl-markdown-content) > :where(:not(:first-child)) {
210
+ margin-top: 16px;
211
+ }
212
+
213
+ @layer starlight.content {
214
+ .stl-ui-prose .sl-markdown-content {
215
+ a,
216
+ a:hover {
217
+ color: revert-layer;
218
+ }
219
+ }
220
+ }
221
+
222
+ ::selection {
223
+ background-color: var(--stl-color-text-selection-background);
224
+ color: var(--stl-color-text-selection-foreground);
225
+ }
226
+
227
+ @layer stl-ui.tokens {
228
+ /* Layout - Stainless */
229
+ :root {
230
+ --stl-ui-layout-border-radius-xs: 4px;
231
+ --stl-ui-layout-border-radius-sml: 8px;
232
+ --stl-ui-layout-border-radius: 12px;
233
+ --stl-ui-layout-border-radius-med: 16px;
234
+ --stl-ui-layout-border-radius-max: 100vmax;
235
+ --stl-ui-left-content-indent: 24px;
236
+
237
+ --stl-ui-page-padding-inline: 20px;
238
+ }
239
+ }
240
+
241
+ /* 1. Base colors */
242
+ @layer stl-ui.tokens {
243
+ :root {
244
+ --stl-opacity-level-080: 0.80;
245
+ --stl-opacity-level-040: 0.40;
246
+ --stl-opacity-level-016: 0.16;
247
+ --stl-opacity-level-008: 0.08;
248
+ --stl-opacity-level-004: 0.04;
249
+ /* background */
250
+ --stl-color-background: light-dark(rgb(255 255 255), rgb(10 10 10));
251
+ --stl-color-background-hover: light-dark(rgb(from var(--stl-color-foreground) r g b/calc(alpha * var(--stl-opacity-level-004))), rgb(from var(--stl-color-foreground) r g b/calc(alpha * var(--stl-opacity-level-008))));
252
+ /* background shades */
253
+ /* muted background */
254
+ --stl-color-muted-background: light-dark(rgb(from var(--stl-color-foreground) r g b/calc(alpha * var(--stl-opacity-level-008))), rgb(from var(--stl-color-foreground) r g b/calc(alpha * var(--stl-opacity-level-016))));
255
+ --stl-color-muted-background-hover: rgb(from var(--stl-color-muted-background) r g b/calc(alpha * 2));
256
+ /* faint background */
257
+ --stl-color-faint-background: rgb(from var(--stl-color-foreground) r g b/calc(alpha * var(--stl-opacity-level-004)));
258
+ --stl-color-faint-background-hover: rgb(from var(--stl-color-faint-background) r g b/calc(alpha * 2));
259
+ /* ui elements like cards and buttons match --stl-color-background in light mode, but have a slight tint in dark mode */
260
+ --stl-color-ui-background: light-dark(
261
+ var(--stl-color-background),
262
+ rgb(from var(--stl-color-foreground) r g b/calc(alpha * var(--stl-opacity-level-004)))
263
+ );
264
+ --stl-color-ui-background-hover: light-dark(
265
+ var(--stl-color-background-hover),
266
+ rgb(from var(--stl-color-ui-background) r g b/calc(alpha * 2))
267
+ );
268
+ /* foreground */
269
+ --stl-color-foreground: light-dark(rgb(38 38 38), rgb(245 245 245));
270
+ --stl-color-foreground-reduced: rgb(from var(--stl-color-foreground) r g b/calc(alpha * var(--stl-opacity-level-080)));
271
+ --stl-color-foreground-muted: rgb(from var(--stl-color-foreground) r g b/calc(alpha * var(--stl-opacity-level-040)));
272
+ /* inverse */
273
+ --stl-color-inverse-background: var(--stl-color-foreground);
274
+ --stl-color-inverse-background-hover: rgb(from var(--stl-color-inverse-background) r g b/calc(alpha * 0.9));
275
+ --stl-color-inverse-foreground: var(--stl-color-background);
276
+ /* default border (“foreground border”) */
277
+ --stl-color-border: rgb(from var(--stl-color-foreground) r g b/calc(alpha * var(--stl-opacity-level-016)));
278
+ --stl-color-border-faint: rgb(from var(--stl-color-border) r g b/calc(alpha * 0.5));
279
+ --stl-color-border-strong: rgb(from var(--stl-color-border) r g b/calc(alpha * 2.5));
280
+ }
281
+ }
282
+ /* 2. Color palettes (accent, red, green, etc) */
283
+ @layer stl-ui.tokens {
284
+ :root {
285
+ /* accent */
286
+ --stl-color-accent: light-dark(#155dfc, #2b7fff);
287
+ --stl-color-accent-foreground: var(--stl-color-accent);
288
+ --stl-color-accent-foreground-reduced: rgb(from var(--stl-color-accent-foreground) r g b/calc(alpha * var(--stl-opacity-level-080)));
289
+ --stl-color-accent-foreground-muted: rgb(from var(--stl-color-accent-foreground) r g b/calc(alpha * var(--stl-opacity-level-040)));
290
+ --stl-color-accent-muted-background: light-dark(rgb(from var(--stl-color-accent-foreground) r g b/calc(alpha * var(--stl-opacity-level-008))), rgb(from var(--stl-color-accent-foreground) r g b/calc(alpha * var(--stl-opacity-level-016))));
291
+ --stl-color-accent-muted-background-hover: rgb(from var(--stl-color-accent-muted-background) r g b/calc(alpha * 2));
292
+ --stl-color-accent-border: light-dark(rgb(from var(--stl-color-accent) r g b/calc(alpha * var(--stl-opacity-level-016))), rgb(from var(--stl-color-accent) r g b/calc(alpha * calc(var(--stl-opacity-level-016) * 1.5))));
293
+ --stl-color-accent-border-faint: rgb(from var(--stl-color-accent-border) r g b/calc(alpha * 0.5));
294
+ --stl-color-accent-border-strong: var(--stl-color-accent);
295
+ --stl-color-accent-inverse-background: var(--stl-color-accent);
296
+ --stl-color-accent-inverse-background-hover: rgb(from var(--stl-color-accent-inverse-background) r g b/calc(alpha * var(--stl-opacity-level-080)));
297
+ --stl-color-accent-inverse-foreground: rgb(255, 255, 255);
298
+ /* red */
299
+ --stl-color-red: light-dark(#d01e22, #e34041);
300
+ --stl-color-red-foreground: var(--stl-color-red);
301
+ --stl-color-red-foreground-reduced: rgb(from var(--stl-color-red-foreground) r g b/calc(alpha * var(--stl-opacity-level-080)));
302
+ --stl-color-red-foreground-muted: rgb(from var(--stl-color-red-foreground) r g b/calc(alpha * var(--stl-opacity-level-040)));
303
+ --stl-color-red-muted-background: light-dark(rgb(from var(--stl-color-red-foreground) r g b/calc(alpha * var(--stl-opacity-level-008))), rgb(from var(--stl-color-red-foreground) r g b/calc(alpha * var(--stl-opacity-level-016))));
304
+ --stl-color-red-muted-background-hover: rgb(from var(--stl-color-red-muted-background) r g b/calc(alpha * 2));
305
+ --stl-color-red-border: light-dark(rgb(from var(--stl-color-red) r g b/calc(alpha * var(--stl-opacity-level-016))), rgb(from var(--stl-color-red) r g b/calc(alpha * calc(var(--stl-opacity-level-016) * 1.5))));
306
+ --stl-color-red-border-faint: rgb(from var(--stl-color-red-border) r g b/calc(alpha * 0.5));
307
+ --stl-color-red-border-strong: var(--stl-color-red);
308
+ --stl-color-red-inverse-background: var(--stl-color-red);
309
+ --stl-color-red-inverse-background-hover: rgb(from var(--stl-color-red-inverse-background) r g b/calc(alpha * var(--stl-opacity-level-080)));
310
+ --stl-color-red-inverse-foreground: rgb(255, 255, 255);
311
+ /* green */
312
+ --stl-color-green: light-dark(#16a34a, #22c55e);
313
+ --stl-color-green-foreground: var(--stl-color-green);
314
+ --stl-color-green-foreground-reduced: rgb(from var(--stl-color-green-foreground) r g b/calc(alpha * var(--stl-opacity-level-080)));
315
+ --stl-color-green-foreground-muted: rgb(from var(--stl-color-green-foreground) r g b/calc(alpha * var(--stl-opacity-level-040)));
316
+ --stl-color-green-muted-background: light-dark(rgb(from var(--stl-color-green-foreground) r g b/calc(alpha * var(--stl-opacity-level-008))), rgb(from var(--stl-color-green-foreground) r g b/calc(alpha * var(--stl-opacity-level-016))));
317
+ --stl-color-green-muted-background-hover: rgb(from var(--stl-color-green-muted-background) r g b/calc(alpha * 2));
318
+ --stl-color-green-border: light-dark(rgb(from var(--stl-color-green) r g b/calc(alpha * var(--stl-opacity-level-016))), rgb(from var(--stl-color-green) r g b/calc(alpha * calc(var(--stl-opacity-level-016) * 1.5))));
319
+ --stl-color-green-border-faint: rgb(from var(--stl-color-green-border) r g b/calc(alpha * 0.5));
320
+ --stl-color-green-border-strong: var(--stl-color-green);
321
+ --stl-color-green-inverse-background: var(--stl-color-green);
322
+ --stl-color-green-inverse-background-hover: rgb(from var(--stl-color-green-inverse-background) r g b/calc(alpha * var(--stl-opacity-level-080)));
323
+ --stl-color-green-inverse-foreground: rgb(255, 255, 255);
324
+ /* blue */
325
+ --stl-color-blue: light-dark(#155dfc, #2b7fff);
326
+ --stl-color-blue-foreground: var(--stl-color-blue);
327
+ --stl-color-blue-foreground-reduced: rgb(from var(--stl-color-blue-foreground) r g b/calc(alpha * var(--stl-opacity-level-080)));
328
+ --stl-color-blue-foreground-muted: rgb(from var(--stl-color-blue-foreground) r g b/calc(alpha * var(--stl-opacity-level-040)));
329
+ --stl-color-blue-muted-background: light-dark(rgb(from var(--stl-color-blue-foreground) r g b/calc(alpha * var(--stl-opacity-level-008))), rgb(from var(--stl-color-blue-foreground) r g b/calc(alpha * var(--stl-opacity-level-016))));
330
+ --stl-color-blue-muted-background-hover: rgb(from var(--stl-color-blue-muted-background) r g b/calc(alpha * 2));
331
+ --stl-color-blue-border: light-dark(rgb(from var(--stl-color-blue) r g b/calc(alpha * var(--stl-opacity-level-016))), rgb(from var(--stl-color-blue) r g b/calc(alpha * calc(var(--stl-opacity-level-016) * 1.5))));
332
+ --stl-color-blue-border-faint: rgb(from var(--stl-color-blue-border) r g b/calc(alpha * 0.5));
333
+ --stl-color-blue-border-strong: var(--stl-color-blue);
334
+ --stl-color-blue-inverse-background: var(--stl-color-blue);
335
+ --stl-color-blue-inverse-background-hover: rgb(from var(--stl-color-blue-inverse-background) r g b/calc(alpha * var(--stl-opacity-level-080)));
336
+ --stl-color-blue-inverse-foreground: rgb(255, 255, 255);
337
+ /* yellow */
338
+ --stl-color-yellow: light-dark(#ca8a04, #eab308);
339
+ --stl-color-yellow-foreground: var(--stl-color-yellow);
340
+ --stl-color-yellow-foreground-reduced: rgb(from var(--stl-color-yellow-foreground) r g b/calc(alpha * var(--stl-opacity-level-080)));
341
+ --stl-color-yellow-foreground-muted: rgb(from var(--stl-color-yellow-foreground) r g b/calc(alpha * var(--stl-opacity-level-040)));
342
+ --stl-color-yellow-muted-background: light-dark(rgb(from var(--stl-color-yellow-foreground) r g b/calc(alpha * var(--stl-opacity-level-008))), rgb(from var(--stl-color-yellow-foreground) r g b/calc(alpha * var(--stl-opacity-level-016))));
343
+ --stl-color-yellow-muted-background-hover: rgb(from var(--stl-color-yellow-muted-background) r g b/calc(alpha * 2));
344
+ --stl-color-yellow-border: light-dark(rgb(from var(--stl-color-yellow) r g b/calc(alpha * var(--stl-opacity-level-016))), rgb(from var(--stl-color-yellow) r g b/calc(alpha * calc(var(--stl-opacity-level-016) * 1.5))));
345
+ --stl-color-yellow-border-faint: rgb(from var(--stl-color-yellow-border) r g b/calc(alpha * 0.5));
346
+ --stl-color-yellow-border-strong: var(--stl-color-yellow);
347
+ --stl-color-yellow-inverse-background: var(--stl-color-yellow);
348
+ --stl-color-yellow-inverse-background-hover: rgb(from var(--stl-color-yellow-inverse-background) r g b/calc(alpha * var(--stl-opacity-level-080)));
349
+ --stl-color-yellow-inverse-foreground: rgb(255, 255, 255);
350
+ /* orange */
351
+ --stl-color-orange: light-dark(#ea580c, #f97316);
352
+ --stl-color-orange-foreground: var(--stl-color-orange);
353
+ --stl-color-orange-foreground-reduced: rgb(from var(--stl-color-orange-foreground) r g b/calc(alpha * var(--stl-opacity-level-080)));
354
+ --stl-color-orange-foreground-muted: rgb(from var(--stl-color-orange-foreground) r g b/calc(alpha * var(--stl-opacity-level-040)));
355
+ --stl-color-orange-muted-background: light-dark(rgb(from var(--stl-color-orange-foreground) r g b/calc(alpha * var(--stl-opacity-level-008))), rgb(from var(--stl-color-orange-foreground) r g b/calc(alpha * var(--stl-opacity-level-016))));
356
+ --stl-color-orange-muted-background-hover: rgb(from var(--stl-color-orange-muted-background) r g b/calc(alpha * 2));
357
+ --stl-color-orange-border: light-dark(rgb(from var(--stl-color-orange) r g b/calc(alpha * var(--stl-opacity-level-016))), rgb(from var(--stl-color-orange) r g b/calc(alpha * calc(var(--stl-opacity-level-016) * 1.5))));
358
+ --stl-color-orange-border-faint: rgb(from var(--stl-color-orange-border) r g b/calc(alpha * 0.5));
359
+ --stl-color-orange-border-strong: var(--stl-color-orange);
360
+ --stl-color-orange-inverse-background: var(--stl-color-orange);
361
+ --stl-color-orange-inverse-background-hover: rgb(from var(--stl-color-orange-inverse-background) r g b/calc(alpha * var(--stl-opacity-level-080)));
362
+ --stl-color-orange-inverse-foreground: rgb(255, 255, 255);
363
+ /* purple */
364
+ --stl-color-purple: light-dark(#9333ea, #a855f7);
365
+ --stl-color-purple-foreground: var(--stl-color-purple);
366
+ --stl-color-purple-foreground-reduced: rgb(from var(--stl-color-purple-foreground) r g b/calc(alpha * var(--stl-opacity-level-080)));
367
+ --stl-color-purple-foreground-muted: rgb(from var(--stl-color-purple-foreground) r g b/calc(alpha * var(--stl-opacity-level-040)));
368
+ --stl-color-purple-muted-background: light-dark(rgb(from var(--stl-color-purple-foreground) r g b/calc(alpha * var(--stl-opacity-level-008))), rgb(from var(--stl-color-purple-foreground) r g b/calc(alpha * var(--stl-opacity-level-016))));
369
+ --stl-color-purple-muted-background-hover: rgb(from var(--stl-color-purple-muted-background) r g b/calc(alpha * 2));
370
+ --stl-color-purple-border: light-dark(rgb(from var(--stl-color-purple) r g b/calc(alpha * var(--stl-opacity-level-016))), rgb(from var(--stl-color-purple) r g b/calc(alpha * calc(var(--stl-opacity-level-016) * 1.5))));
371
+ --stl-color-purple-border-faint: rgb(from var(--stl-color-purple-border) r g b/calc(alpha * 0.5));
372
+ --stl-color-purple-border-strong: var(--stl-color-purple);
373
+ --stl-color-purple-inverse-background: var(--stl-color-purple);
374
+ --stl-color-purple-inverse-background-hover: rgb(from var(--stl-color-purple-inverse-background) r g b/calc(alpha * var(--stl-opacity-level-080)));
375
+ --stl-color-purple-inverse-foreground: rgb(255, 255, 255);
376
+ /* cyan */
377
+ --stl-color-cyan: light-dark(#0891b2, #06b6d4);
378
+ --stl-color-cyan-foreground: var(--stl-color-cyan);
379
+ --stl-color-cyan-foreground-reduced: rgb(from var(--stl-color-cyan-foreground) r g b/calc(alpha * var(--stl-opacity-level-080)));
380
+ --stl-color-cyan-foreground-muted: rgb(from var(--stl-color-cyan-foreground) r g b/calc(alpha * var(--stl-opacity-level-040)));
381
+ --stl-color-cyan-muted-background: light-dark(rgb(from var(--stl-color-cyan-foreground) r g b/calc(alpha * var(--stl-opacity-level-008))), rgb(from var(--stl-color-cyan-foreground) r g b/calc(alpha * var(--stl-opacity-level-016))));
382
+ --stl-color-cyan-muted-background-hover: rgb(from var(--stl-color-cyan-muted-background) r g b/calc(alpha * 2));
383
+ --stl-color-cyan-border: light-dark(rgb(from var(--stl-color-cyan) r g b/calc(alpha * var(--stl-opacity-level-016))), rgb(from var(--stl-color-cyan) r g b/calc(alpha * calc(var(--stl-opacity-level-016) * 1.5))));
384
+ --stl-color-cyan-border-faint: rgb(from var(--stl-color-cyan-border) r g b/calc(alpha * 0.5));
385
+ --stl-color-cyan-border-strong: var(--stl-color-cyan);
386
+ --stl-color-cyan-inverse-background: var(--stl-color-cyan);
387
+ --stl-color-cyan-inverse-background-hover: rgb(from var(--stl-color-cyan-inverse-background) r g b/calc(alpha * var(--stl-opacity-level-080)));
388
+ --stl-color-cyan-inverse-foreground: rgb(255, 255, 255);
389
+ /* pink */
390
+ --stl-color-pink: light-dark(#ec4899, #ec4899);
391
+ --stl-color-pink-foreground: var(--stl-color-pink);
392
+ --stl-color-pink-foreground-reduced: rgb(from var(--stl-color-pink-foreground) r g b/calc(alpha * var(--stl-opacity-level-080)));
393
+ --stl-color-pink-foreground-muted: rgb(from var(--stl-color-pink-foreground) r g b/calc(alpha * var(--stl-opacity-level-040)));
394
+ --stl-color-pink-muted-background: light-dark(rgb(from var(--stl-color-pink-foreground) r g b/calc(alpha * var(--stl-opacity-level-008))), rgb(from var(--stl-color-pink-foreground) r g b/calc(alpha * var(--stl-opacity-level-016))));
395
+ --stl-color-pink-muted-background-hover: rgb(from var(--stl-color-pink-muted-background) r g b/calc(alpha * 2));
396
+ --stl-color-pink-border: light-dark(rgb(from var(--stl-color-pink) r g b/calc(alpha * var(--stl-opacity-level-016))), rgb(from var(--stl-color-pink) r g b/calc(alpha * calc(var(--stl-opacity-level-016) * 1.5))));
397
+ --stl-color-pink-border-faint: rgb(from var(--stl-color-pink-border) r g b/calc(alpha * 0.5));
398
+ --stl-color-pink-border-strong: var(--stl-color-pink);
399
+ --stl-color-pink-inverse-background: var(--stl-color-pink);
400
+ --stl-color-pink-inverse-background-hover: rgb(from var(--stl-color-pink-inverse-background) r g b/calc(alpha * var(--stl-opacity-level-080)));
401
+ --stl-color-pink-inverse-foreground: rgb(255, 255, 255);
402
+ }
403
+ :root[data-theme=dark],
404
+ .stl-theme-dark {
405
+ color-scheme: dark;
406
+ background: var(--stl-color-background);
407
+ color: var(--stl-color-foreground);
408
+ }
409
+ :root[data-theme=light],
410
+ .stl-theme-light {
411
+ color-scheme: light;
412
+ background: var(--stl-color-background);
413
+ color: var(--stl-color-foreground);
414
+ }
415
+ }
416
+ /* Semantic color roles */
417
+ @layer stl-ui.tokens {
418
+ :root {
419
+ --stl-color-link-foreground: var(--stl-color-accent-foreground);
420
+ --stl-color-text-selection: var(--stl-color-accent-inverse-background);
421
+ }
422
+ }
423
+ .stl-ui-button {
424
+ height: 32px;
425
+ padding: 8px 10px;
426
+ border-radius: var(--stl-ui-layout-border-radius-sml);
427
+ line-height: 150%;
428
+ font-weight: 500;
429
+ font-size: var(--stl-typography-text-body-sm);
430
+ font-family: var(--stl-typography-font);
431
+
432
+ cursor: pointer;
433
+ display: inline-flex;
434
+ align-items: center;
435
+ justify-content: center;
436
+ gap: 2px;
437
+ white-space: nowrap;
438
+ flex-shrink: 0;
439
+
440
+ border: 1px solid transparent;
441
+ color: var(--stl-color-inverse-foreground);
442
+ background-color: var(--stl-color-inverse-background);
443
+
444
+ &:hover {
445
+ background-color: var(--stl-color-inverse-background-hover);
446
+ }
447
+
448
+ &[hidden] {
449
+ display: none;
450
+ }
451
+ }
452
+
453
+ /* --- COLOR VARIANTS --- */
454
+
455
+ .stl-ui-button--accent {
456
+ color: var(--stl-color-accent-inverse-foreground);
457
+ background-color: var(--stl-color-accent-inverse-background);
458
+ &:hover {
459
+ background-color: var(--stl-color-accent-inverse-background-hover);
460
+ }
461
+ }
462
+
463
+ .stl-ui-button--accent-muted {
464
+ color: var(--stl-color-accent-foreground);
465
+ background-color: var(--stl-color-accent-muted-background);
466
+ &:hover {
467
+ background-color: var(--stl-color-accent-muted-background-hover);
468
+ }
469
+ &.stl-ui-button--with-border {
470
+ border-color: var(--stl-color-accent-border);
471
+ }
472
+ }
473
+
474
+ .stl-ui-button--muted {
475
+ color: var(--stl-color-foreground);
476
+ background-color: var(--stl-color-muted-background);
477
+ &:hover {
478
+ background-color: var(--stl-color-muted-background-hover);
479
+ }
480
+ &.stl-ui-button--with-border {
481
+ border-color: var(--stl-color-border);
482
+ }
483
+ }
484
+
485
+ .stl-ui-button--outline {
486
+ color: var(--stl-color-foreground);
487
+ background-color: var(--stl-color-ui-background);
488
+ border-color: var(--stl-color-border);
489
+ &:hover {
490
+ background:
491
+ linear-gradient(var(--stl-color-ui-background-hover), var(--stl-color-ui-background-hover)),
492
+ linear-gradient(var(--stl-color-ui-background), var(--stl-color-ui-background));
493
+ }
494
+ }
495
+
496
+ .stl-ui-button--ghost {
497
+ color: var(--stl-color-foreground);
498
+ background-color: transparent;
499
+ &:hover {
500
+ background-color: var(--stl-color-background-hover);
501
+ }
502
+ &.stl-ui-button--with-border {
503
+ border-color: var(--stl-color-border);
504
+ }
505
+ }
506
+
507
+ .stl-ui-button--success {
508
+ color: var(--stl-color-green-inverse-foreground);
509
+ background-color: var(--stl-color-green-inverse-background);
510
+ &:hover {
511
+ background-color: var(--stl-color-green-inverse-background-hover);
512
+ }
513
+ }
514
+
515
+ .stl-ui-button--destructive {
516
+ color: var(--stl-color-red-inverse-foreground);
517
+ background-color: var(--stl-color-red-inverse-background);
518
+ &:hover {
519
+ background-color: var(--stl-color-red-inverse-background-hover);
520
+ }
521
+ }
522
+
523
+ /* --- LOADING STATE --- */
524
+
525
+ /**
526
+ * When loading, set aria-disabled="true" and aria-label="<Doing action...>"
527
+ * Don't use disabled, it loses focus.
528
+ */
529
+
530
+ .stl-ui-button--loading {
531
+ -webkit-text-fill-color: transparent;
532
+ position: relative;
533
+
534
+ & * {
535
+ color: transparent;
536
+ }
537
+
538
+ &::before {
539
+ content: '';
540
+ animation: stl-ui-button--loading-spin 1s linear infinite;
541
+ position: absolute;
542
+ width: 16px;
543
+ height: 16px;
544
+ mask-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWxvYWRlci1jaXJjbGUtaWNvbiBsdWNpZGUtbG9hZGVyLWNpcmNsZSI+PHBhdGggZD0iTTIxIDEyYTkgOSAwIDEgMS02LjIxOS04LjU2Ii8+PC9zdmc+');
545
+ mask-size: contain;
546
+ mask-position: center;
547
+ mask-repeat: no-repeat;
548
+ background: currentColor;
549
+ }
550
+ }
551
+
552
+ @keyframes stl-ui-button--loading-spin {
553
+ to {
554
+ transform: rotate(360deg);
555
+ }
556
+ }
557
+
558
+ /* --- SIZE VARIANTS --- */
559
+ .stl-ui-button--size-sm {
560
+ height: 24px;
561
+ padding: 0 6px;
562
+ border-radius: var(--stl-ui-layout-border-radius-xs);
563
+ line-height: 100%;
564
+ font-weight: 500;
565
+ font-size: var(--stl-typography-text-body-xs);
566
+ }
567
+
568
+ .stl-ui-button--size-lg {
569
+ height: 40px;
570
+ padding: 8px 14px;
571
+ border-radius: var(--stl-ui-layout-border-radius);
572
+ line-height: 150%;
573
+ font-weight: 500;
574
+ font-size: var(--stl-typography-text-body);
575
+ }
576
+
577
+ /* --- ICONS --- */
578
+ .stl-ui-button__icon {
579
+ flex-shrink: 0;
580
+ display: flex;
581
+ align-items: center;
582
+ justify-content: center;
583
+
584
+ svg {
585
+ margin-top: 0;
586
+ }
587
+ }
588
+
589
+ /* Left Icon */
590
+ .stl-ui-button:has(.stl-ui-button__icon:first-child) .stl-ui-button__icon {
591
+ margin-left: -4px;
592
+ margin-right: 4px;
593
+ }
594
+
595
+ .stl-ui-button:has(.stl-ui-button__icon:last-child) .stl-ui-button__icon {
596
+ /* Right Icon */
597
+ margin-right: -4px;
598
+ margin-left: 4px;
599
+
600
+ /* Right & Left Icon */
601
+ &:first-child {
602
+ margin-left: -4px;
603
+ margin-right: 4px;
604
+ }
605
+ }
606
+
607
+ /* Only Icon */
608
+ .stl-ui-button:not(:has(.stl-ui-button-label)):has(.stl-ui-button__icon:last-child):has(
609
+ .stl-ui-button__icon:first-child
610
+ ) {
611
+ aspect-ratio: 1 / 1;
612
+
613
+ .stl-ui-button__icon {
614
+ margin-left: -4px;
615
+ margin-right: -4px;
616
+ }
617
+ }
618
+
619
+ /* --- LINKS --- */
620
+
621
+ a.stl-ui-button {
622
+ text-decoration: none;
623
+ text-align: center;
624
+ }
625
+
626
+ .stl-ui-dropdown {
627
+ --stl-ui-dropdown-button-color: var(--stl-color-foreground);
628
+ --stl-ui-dropdown-button-background-color: var(--stl-color-ui-background);
629
+ --stl-ui-dropdown-button-border-color: var(--stl-color-border);
630
+
631
+ --stl-ui-dropdown-button-border-radius: var(--stl-ui-layout-border-radius-sml);
632
+ --stl-ui-dropdown-button-font-size: var(--stl-typography-scale-sm);
633
+
634
+ --stl-ui-dropdown-button-height: 32px;
635
+ --stl-ui-dropdown-button-padding: 0 10px;
636
+ --stl-ui-dropdown-button-line-height: 100%;
637
+ --stl-ui-dropdown-button-font-weight: 500;
638
+
639
+ position: relative;
640
+ display: inline-flex;
641
+ align-items: center;
642
+
643
+ color: var(--stl-ui-dropdown-button-color);
644
+ gap: 0;
645
+ font-size: var(--stl-ui-dropdown-button-font-size);
646
+
647
+ hr {
648
+ --stl-ui-dropdown-button__divider-height: 1px;
649
+ --stl-ui-dropdown-button__divider-color: var(--stl-color-border);
650
+
651
+ height: var(--stl-ui-dropdown-button__divider-height);
652
+ background-color: var(--stl-ui-dropdown-button__divider-color);
653
+ border: none;
654
+
655
+ margin: 4px 0;
656
+ width: calc(100% + 8px);
657
+ transform: translateX(-4px);
658
+ }
659
+
660
+ .stl-ui-dropdown__button {
661
+ background-color: var(--stl-ui-dropdown-button-background-color);
662
+
663
+ border: 1px solid var(--stl-ui-dropdown-button-border-color);
664
+ border-radius: var(--stl-ui-dropdown-button-border-radius);
665
+ height: var(--stl-ui-dropdown-button-height);
666
+ padding: var(--stl-ui-dropdown-button-padding);
667
+ line-height: var(--stl-ui-dropdown-button-line-height);
668
+ font-weight: var(--stl-ui-dropdown-button-font-weight);
669
+ cursor: pointer;
670
+ display: flex;
671
+ align-items: center;
672
+ justify-content: center;
673
+ color: inherit;
674
+
675
+ &:focus {
676
+ outline: 1px auto Highlight;
677
+ }
678
+
679
+ &:hover {
680
+ background-color: var(--stl-color-ui-background-hover);
681
+ }
682
+
683
+ .stl-ui-dropdown__trigger-icon {
684
+ margin-right: -4px;
685
+ margin-left: 4px;
686
+ display: flex;
687
+ align-items: center;
688
+ justify-content: center;
689
+ }
690
+ }
691
+
692
+ .stl-ui-dropdown__icon {
693
+ display: flex;
694
+ align-items: center;
695
+ justify-content: center;
696
+
697
+ svg {
698
+ width: 16px;
699
+ height: 16px;
700
+ }
701
+ }
702
+
703
+ /**
704
+ * Dropdown Button
705
+ */
706
+ .stl-ui-dropdown-button--action {
707
+ display: flex;
708
+ align-items: center;
709
+ gap: 8px;
710
+ border-top-right-radius: 0;
711
+ border-bottom-right-radius: 0;
712
+ border-right-width: 0;
713
+
714
+ &:hover {
715
+ background-color: var(--stl-color-ui-background-hover);
716
+ z-index: 1;
717
+ border-right-width: 1px;
718
+ & + .stl-ui-dropdown-button__trigger {
719
+ border-left-width: 0;
720
+ }
721
+ }
722
+
723
+ &.disabled {
724
+ cursor: not-allowed;
725
+ background-color: var(--stl-color-ui-background);
726
+ }
727
+ }
728
+
729
+ .stl-ui-dropdown-button__trigger {
730
+ border-radius: 0;
731
+ border-top-right-radius: var(--stl-ui-dropdown-button-border-radius);
732
+ border-bottom-right-radius: var(--stl-ui-dropdown-button-border-radius);
733
+
734
+ &:hover {
735
+ background-color: var(--stl-color-ui-background-hover);
736
+ }
737
+ }
738
+
739
+ .stl-ui-dropdown__trigger-selected {
740
+ display: flex;
741
+ align-items: center;
742
+ gap: 8px;
743
+ }
744
+
745
+ /**
746
+ * Dropdown Menu
747
+ */
748
+ .stl-ui-dropdown-menu {
749
+ --stl-ui-dropdown-menu-background-color: var(--stl-color-ui-background);
750
+ --stl-ui-dropdown-menu-border-color: var(--stl-color-border);
751
+ --stl-ui-dropdown-menu-box-shadow: 0px 4px 4px -2px #00000014;
752
+ --stl-ui-dropdown-menu-border-radius: var(--stl-ui-layout-border-radius-sml);
753
+
754
+ /* opaque background with sometimes-transparent color on top in image layer*/
755
+ background-color: var(--stl-color-background);
756
+ background-image: linear-gradient(
757
+ to right,
758
+ var(--stl-ui-dropdown-menu-background-color),
759
+ var(--stl-ui-dropdown-menu-background-color)
760
+ );
761
+
762
+ border: 1px solid var(--stl-ui-dropdown-menu-border-color);
763
+ box-shadow: var(--stl-ui-dropdown-menu-box-shadow);
764
+ border-radius: var(--stl-ui-dropdown-menu-border-radius);
765
+
766
+ position: absolute;
767
+ right: 0;
768
+ z-index: 1000;
769
+ min-width: 100%;
770
+ width: max-content;
771
+ padding: 4px;
772
+ display: none;
773
+
774
+ &.stl-ui-dropdown-menu--above {
775
+ top: auto;
776
+ bottom: 100%;
777
+ margin-bottom: 4px;
778
+ }
779
+
780
+ &.stl-ui-dropdown-menu--below {
781
+ top: 100%;
782
+ bottom: auto;
783
+ margin-top: 4px;
784
+ }
785
+
786
+ &[data-state='open'] {
787
+ display: block;
788
+ }
789
+
790
+ .stl-ui-dropdown-menu__item {
791
+ --stl-ui-dropdown-menu__item-border-radius: var(--stl-ui-dropdown-button-border-radius);
792
+ --stl-ui-dropdown-menu__item-height: var(--stl-ui-dropdown-button-height);
793
+ --stl-ui-dropdown-menu__item-line-height: var(--stl-ui-dropdown-button-line-height);
794
+ --stl-ui-dropdown-menu__item-hover-background-color: var(--stl-color-ui-background-hover);
795
+
796
+ border-radius: var(--stl-ui-dropdown-menu__item-border-radius);
797
+ height: var(--stl-ui-dropdown-menu__item-height);
798
+ line-height: var(--stl-ui-dropdown-menu__item-line-height);
799
+
800
+ background: transparent;
801
+ border: none;
802
+
803
+ padding: 8px;
804
+ cursor: pointer;
805
+ display: flex;
806
+ align-items: center;
807
+ justify-content: space-between;
808
+ gap: 16px;
809
+ width: 100%;
810
+
811
+ &:hover,
812
+ &:focus-visible {
813
+ background-color: var(--stl-ui-dropdown-menu__item-hover-background-color);
814
+ }
815
+
816
+ &:hover,
817
+ &:focus-visible,
818
+ &:focus {
819
+ color: var(--stl-color-foreground);
820
+ }
821
+
822
+ &.stl-ui-dropdown-menu__item-link {
823
+ display: flex;
824
+ align-items: center;
825
+ justify-content: space-between;
826
+ gap: 16px;
827
+ width: 100%;
828
+
829
+ &:hover {
830
+ color: var(--stl-color-foreground);
831
+ }
832
+ }
833
+
834
+ .stl-ui-dropdown-menu__item-icon {
835
+ display: flex;
836
+ }
837
+
838
+ .stl-ui-dropdown-menu__item-content {
839
+ display: flex;
840
+ align-items: center;
841
+ gap: 8px;
842
+ }
843
+
844
+ .stl-ui-dropdown-menu__item-text {
845
+ white-space: nowrap;
846
+ }
847
+
848
+ .stl-ui-dropdown-menu__item-text--subtle {
849
+ color: var(--stl-color-foreground-muted);
850
+ }
851
+
852
+ strong {
853
+ color: var(--stl-color-foreground);
854
+ font-weight: 500;
855
+ }
856
+
857
+ .stl-ui-dropdown-menu__item-subtle-icon {
858
+ --stl-ui-dropdown-menu__item-subtle-icon-color: rgb(from var(--stl-color-foreground) r g b / 0.25);
859
+
860
+ svg {
861
+ color: var(--stl-ui-dropdown-menu__item-subtle-icon-color);
862
+ }
863
+ }
864
+ }
865
+ }
866
+ }
867
+
868
+ .stl-ui-callout {
869
+ --stl-ui-callout-background-color: var(--stl-color-faint-background);
870
+ --stl-ui-callout-border-color: var(--stl-color-border);
871
+ --stl-ui-callout-accent-color: var(--stl-color-foreground);
872
+
873
+ border: 1px solid var(--stl-ui-callout-border-color);
874
+ background-color: var(--stl-ui-callout-background-color);
875
+ border-radius: var(--stl-ui-layout-border-radius);
876
+ padding: 12px;
877
+ line-height: var(--stl-typography-line-height);
878
+ font-weight: 400;
879
+ font-size: var(--stl-typography-text-body);
880
+ color: var(--stl-color-foreground);
881
+
882
+ display: flex;
883
+ align-items: flex-start;
884
+ gap: 8px;
885
+
886
+ :where(a, strong) {
887
+ color: var(--stl-ui-callout-strong-color, var(--stl-ui-callout-accent-color));
888
+ }
889
+ :where(a) {
890
+ text-decoration-color: rgba(from currentColor r g b / 0.4);
891
+ transition: text-decoration-color 0.1s ease;
892
+ &:hover {
893
+ text-decoration-color: rgba(from currentColor r g b / 0.8);
894
+ }
895
+ }
896
+
897
+ ::selection {
898
+ background-color: light-dark(
899
+ rgb(from var(--stl-ui-callout-background-color) r g b / 0.2),
900
+ rgb(from var(--stl-ui-callout-background-color) r g b / 0.35)
901
+ );
902
+ color: var(--stl-color-foreground);
903
+ }
904
+ }
905
+
906
+ .stl-ui-callout--info {
907
+ --stl-ui-callout-background-color: var(--stl-color-faint-background);
908
+ --stl-ui-callout-border-color: var(--stl-color-border);
909
+ --stl-ui-callout-accent-color: var(--stl-color-foreground-reduced);
910
+ --stl-ui-callout-strong-color: var(--stl-color-foreground);
911
+ }
912
+
913
+ .stl-ui-callout--note {
914
+ --stl-ui-callout-background-color: var(--stl-color-blue-muted-background);
915
+ --stl-ui-callout-border-color: var(--stl-color-blue-border);
916
+ --stl-ui-callout-accent-color: var(--stl-color-blue-foreground);
917
+ }
918
+
919
+ .stl-ui-callout--tip {
920
+ --stl-ui-callout-background-color: var(--stl-color-purple-muted-background);
921
+ --stl-ui-callout-border-color: var(--stl-color-purple-border);
922
+ --stl-ui-callout-accent-color: var(--stl-color-purple-foreground);
923
+ }
924
+
925
+ .stl-ui-callout--success {
926
+ --stl-ui-callout-background-color: var(--stl-color-green-muted-background);
927
+ --stl-ui-callout-border-color: var(--stl-color-green-border);
928
+ --stl-ui-callout-accent-color: var(--stl-color-green-foreground);
929
+ }
930
+
931
+ .stl-ui-callout--warning {
932
+ --stl-ui-callout-background-color: var(--stl-color-yellow-muted-background);
933
+ --stl-ui-callout-border-color: var(--stl-color-yellow-border);
934
+ --stl-ui-callout-accent-color: var(--stl-color-yellow-foreground);
935
+ }
936
+
937
+ .stl-ui-callout--danger {
938
+ --stl-ui-callout-background-color: var(--stl-color-red-muted-background);
939
+ --stl-ui-callout-border-color: var(--stl-color-red-border);
940
+ --stl-ui-callout-accent-color: var(--stl-color-red-foreground);
941
+ }
942
+
943
+ .stl-ui-callout__icon {
944
+ color: var(--stl-ui-callout-accent-color);
945
+ flex-shrink: 0;
946
+ width: 1em;
947
+ height: 1em;
948
+ margin: calc((1lh - 1em) / 2);
949
+ }
950
+
951
+ .stl-ui-callout__content {
952
+ flex: 1;
953
+ margin-top: 0;
954
+
955
+ & > :first-child {
956
+ margin-top: 0;
957
+ }
958
+ }
959
+
960
+ /* revert starlight details styles */
961
+ @layer starlight.content {
962
+ /* artificially increase specificity to outcompete selectors in the same layer whose styles we want to revert */
963
+ .stl-ui-prose .sl-markdown-content.sl-markdown-content.sl-markdown-content {
964
+ details,
965
+ summary,
966
+ summary::before,
967
+ summary::marker {
968
+ all: revert-layer;
969
+ }
970
+ }
971
+ }
972
+
973
+ .stl-ui-accordion {
974
+ --stl-ui-accordion-padding: 12px;
975
+ --stl-ui-accordion-content-padding-bottom: 4px;
976
+ --stl-ui-accordion-marker-size: 1em;
977
+ --stl-ui-accordion-marker-margin: calc((1lh - var(--stl-ui-accordion-marker-size)) / 2);
978
+ --stl-ui-accordion-marker-color: var(--stl-color-border-strong);
979
+ --stl-ui-accordion-row-gap: 8px;
980
+ --stl-ui-accordion-summary-column-gap: 8px;
981
+ --stl-ui-accordion-border-radius: var(--stl-ui-layout-border-radius);
982
+ /* left inset to make content line up with summary content (after chevron) */
983
+ --stl-ui--internal--accordion-padding-start: calc(
984
+ var(--stl-ui-accordion-padding) + var(--stl-ui-accordion-marker-size) +
985
+ var(--stl-ui-accordion-marker-margin) * 2 + var(--stl-ui-accordion-summary-column-gap)
986
+ );
987
+
988
+ background-color: var(--stl-color-ui-background);
989
+ border: 1px solid var(--stl-color-border);
990
+ border-radius: var(--stl-ui-accordion-border-radius);
991
+ font-size: var(--stl-typography-text-body);
992
+
993
+ padding: var(--stl-ui-accordion-padding);
994
+ /* indent content to line up with left edge of summary content */
995
+ padding-inline-start: var(--stl-ui--internal--accordion-padding-start);
996
+
997
+ & > .stl-ui-accordion__summary {
998
+ display: block;
999
+ list-style: none;
1000
+
1001
+ /* summary extends to the edges of the element in order to increase click target */
1002
+ padding: var(--stl-ui-accordion-padding);
1003
+ padding-inline-start: var(--stl-ui--internal--accordion-padding-start);
1004
+ margin: calc(-1 * var(--stl-ui-accordion-padding));
1005
+ margin-inline-start: calc(-1 * var(--stl-ui--internal--accordion-padding-start));
1006
+
1007
+ cursor: pointer;
1008
+ font-weight: 500;
1009
+
1010
+ border-radius: var(--stl-ui-accordion-border-radius);
1011
+
1012
+ &::before {
1013
+ content: '';
1014
+ width: var(--stl-ui-accordion-marker-size);
1015
+ height: var(--stl-ui-accordion-marker-size);
1016
+ margin: var(--stl-ui-accordion-marker-margin);
1017
+ background-color: var(--stl-ui-accordion-marker-color);
1018
+ display: block;
1019
+ position: absolute;
1020
+ --stl-ui-accordion--internal--marker-width: calc(
1021
+ var(--stl-ui-accordion-marker-size) + var(--stl-ui-accordion-marker-margin) * 2
1022
+ );
1023
+ --stl-ui-accordion--internal--summary-marker-transform: translateX(
1024
+ calc(
1025
+ -1 * var(--stl-ui-accordion--internal--marker-width) - var(--stl-ui-accordion-summary-column-gap)
1026
+ )
1027
+ );
1028
+ transform: var(--stl-ui-accordion--internal--summary-marker-transform);
1029
+
1030
+ --lucide-chevron-right: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNoZXZyb24tcmlnaHQtaWNvbiBsdWNpZGUtY2hldnJvbi1yaWdodCI+PHBhdGggZD0ibTkgMTggNi02LTYtNiIvPjwvc3ZnPg==');
1031
+ mask-image: var(--lucide-chevron-right);
1032
+ mask-size: contain;
1033
+ mask-repeat: no-repeat;
1034
+
1035
+ transition: transform 0.1s ease-out;
1036
+ }
1037
+
1038
+ & > :first-child {
1039
+ margin-top: 0;
1040
+ }
1041
+ }
1042
+
1043
+ &[open] {
1044
+ border-color: var(--stl-color-border-strong);
1045
+ padding-bottom: calc(var(--stl-ui-accordion-padding) + var(--stl-ui-accordion-content-padding-bottom));
1046
+
1047
+ & > .stl-ui-accordion__summary {
1048
+ /* padding-bottom shouldn’t extend beyond the row gap while open, i.e. we shouldn’t be negative-margin-placing content overlapping summary */
1049
+ --stl-ui--internal--summary-padding-bottom: min(
1050
+ var(--stl-ui-accordion-padding),
1051
+ var(--stl-ui-accordion-row-gap)
1052
+ );
1053
+ padding-bottom: var(--stl-ui--internal--summary-padding-bottom);
1054
+ margin-bottom: calc(var(--stl-ui-accordion-row-gap) - var(--stl-ui--internal--summary-padding-bottom));
1055
+ border-bottom-left-radius: 0;
1056
+ border-bottom-right-radius: 0;
1057
+
1058
+ &::before {
1059
+ transform: var(--stl-ui-accordion--internal--summary-marker-transform) rotate(90deg);
1060
+ }
1061
+ }
1062
+ }
1063
+
1064
+ &:has(> .stl-ui-accordion__summary:hover) {
1065
+ background-color: var(--stl-color-ui-background-hover);
1066
+ }
1067
+
1068
+ & > .stl-ui-accordion__summary + * {
1069
+ margin-top: 0;
1070
+ }
1071
+ }
1072
+
1073
+ /* Groups */
1074
+
1075
+ .stl-ui-accordion-group {
1076
+ & > .stl-ui-accordion:has(+ .stl-ui-accordion) {
1077
+ border-bottom-left-radius: 0;
1078
+ border-bottom-right-radius: 0;
1079
+ & > .stl-ui-accordion__summary {
1080
+ border-bottom-left-radius: 0;
1081
+ border-bottom-right-radius: 0;
1082
+ }
1083
+ }
1084
+
1085
+ & > .stl-ui-accordion + .stl-ui-accordion {
1086
+ margin-top: 0;
1087
+ border-top-width: 0;
1088
+ border-top-left-radius: 0;
1089
+ border-top-right-radius: 0;
1090
+
1091
+ & > .stl-ui-accordion__summary {
1092
+ border-top-left-radius: 0;
1093
+ border-top-right-radius: 0;
1094
+ }
1095
+ }
1096
+
1097
+ /* Ensure the darker border always extends all the way around the active element, instead of
1098
+ * leaving an inactive border-top */
1099
+
1100
+ .stl-ui-accordion:not(:hover, [open]):has(+ .stl-ui-accordion:hover) {
1101
+ border-bottom-width: 0;
1102
+ }
1103
+ .stl-ui-accordion:not(:hover, [open]) + .stl-ui-accordion:hover {
1104
+ border-top-width: 1px;
1105
+ }
1106
+
1107
+ .stl-ui-accordion:not([open]):has(+ .stl-ui-accordion[open]) {
1108
+ border-bottom-width: 0;
1109
+ }
1110
+ .stl-ui-accordion:not([open]) + .stl-ui-accordion[open] {
1111
+ border-top-width: 1px;
1112
+ }
1113
+ }
1114
+
1115
+ .stl-ui-steps {
1116
+ padding-left: 0;
1117
+ }
1118
+
1119
+ .stl-ui-steps__step {
1120
+ --step-icon-width: 24px;
1121
+ --step-padding: 12px;
1122
+ list-style: none;
1123
+ position: relative;
1124
+ padding: var(--step-padding);
1125
+ /* Space for the custom marker */
1126
+ padding-left: calc(var(--step-icon-width) + var(--step-padding));
1127
+ margin: 0;
1128
+
1129
+ &::before {
1130
+ content: counter(list-item);
1131
+ position: absolute;
1132
+ left: 0;
1133
+ top: var(--step-padding);
1134
+ width: var(--step-icon-width);
1135
+ height: var(--step-icon-width);
1136
+ border: 1px solid var(--stl-color-border);
1137
+ border-radius: 100%;
1138
+ display: flex;
1139
+ align-items: center;
1140
+ justify-content: center;
1141
+ background: var(--stl-color-bg);
1142
+ z-index: 1;
1143
+ font-size: var(--stl-typography-text-body-xs);
1144
+ font-style: normal;
1145
+ font-weight: 600;
1146
+ line-height: 100%;
1147
+ }
1148
+
1149
+ &::after {
1150
+ content: '';
1151
+ position: absolute;
1152
+ left: calc(var(--step-icon-width) / 2 - 0.5px);
1153
+ top: calc(var(--step-icon-width) + var(--step-padding));
1154
+ bottom: calc(-1 * (var(--step-padding)));
1155
+ width: 1px;
1156
+ background: var(--stl-color-border);
1157
+ }
1158
+
1159
+ &:last-child {
1160
+ padding-bottom: 0;
1161
+
1162
+ /* No line after the last step */
1163
+ &::after {
1164
+ display: none;
1165
+ }
1166
+ }
1167
+ }
1168
+ .stl-ui-steps__step-title {
1169
+ font-weight: 600;
1170
+ }
1171
+
1172
+ .stl-ui-steps__step-content {
1173
+ margin-bottom: 0;
1174
+ margin-top: 4px;
1175
+ }
1176
+
1177
+ .stl-ui-badge {
1178
+ display: inline-flex;
1179
+ align-items: center;
1180
+ gap: 0.125em;
1181
+
1182
+ font-weight: 500;
1183
+ letter-spacing: normal;
1184
+
1185
+ border-width: 1px;
1186
+ border-style: solid;
1187
+
1188
+ /* sizes */
1189
+ &.stl-ui-badge--size-sm {
1190
+ height: 20px;
1191
+ font-size: var(--stl-typography-scale-xs);
1192
+ padding: 0 2px;
1193
+ border-radius: var(--stl-ui-layout-border-radius-xs);
1194
+ --stl-ui-badge-icon-size: 14px;
1195
+ }
1196
+ &,
1197
+ &.stl-ui-badge--size-md {
1198
+ height: 24px;
1199
+ font-size: var(--stl-typography-scale-sm);
1200
+ padding: 0 4px;
1201
+ border-radius: var(--stl-ui-layout-border-radius-xs);
1202
+ --stl-ui-badge-icon-size: 14px;
1203
+ }
1204
+ &.stl-ui-badge--size-lg {
1205
+ height: 32px;
1206
+ font-size: var(--stl-typography-scale-md);
1207
+ padding: 0 6px;
1208
+ border-radius: var(--stl-ui-layout-border-radius-sml);
1209
+ --stl-ui-badge-icon-size: 16px;
1210
+ }
1211
+
1212
+ /* intents */
1213
+ &.stl-ui-badge--intent-none {
1214
+ background-color: var(--stl-color-ui-background);
1215
+ color: var(--stl-color-foreground-muted);
1216
+ --stl-ui-badge-icon-opacity: var(--stl-opacity-level-040);
1217
+ border-color: var(--stl-color-border);
1218
+ }
1219
+ &.stl-ui-badge--intent-info {
1220
+ background-color: var(--stl-color-muted-background);
1221
+ color: var(--stl-color-foreground-muted);
1222
+ --stl-ui-badge-icon-opacity: var(--stl-opacity-level-040);
1223
+ border-color: var(--stl-color-border);
1224
+ &.stl-ui-badge--solid {
1225
+ background-color: var(--stl-color-inverse-background);
1226
+ color: var(--stl-color-inverse-foreground);
1227
+ --stl-ui-badge-icon-opacity: 1;
1228
+ }
1229
+ }
1230
+ &.stl-ui-badge--intent-success,
1231
+ &.stl-ui-badge--http-get {
1232
+ background-color: var(--stl-color-green-muted-background);
1233
+ color: var(--stl-color-green-foreground);
1234
+ border-color: var(--stl-color-green-border);
1235
+ &.stl-ui-badge--solid {
1236
+ background-color: var(--stl-color-green-inverse-background);
1237
+ color: var(--stl-color-green-inverse-foreground);
1238
+ }
1239
+ }
1240
+ &.stl-ui-badge--intent-warning {
1241
+ background-color: var(--stl-color-yellow-muted-background);
1242
+ color: var(--stl-color-yellow-foreground);
1243
+ border-color: var(--stl-color-yellow-border);
1244
+ &.stl-ui-badge--solid {
1245
+ background-color: var(--stl-color-yellow-inverse-background);
1246
+ color: var(--stl-color-yellow-inverse-foreground);
1247
+ }
1248
+ }
1249
+ &.stl-ui-badge--intent-danger,
1250
+ &.stl-ui-badge--http-delete {
1251
+ background-color: var(--stl-color-red-muted-background);
1252
+ color: var(--stl-color-red-foreground);
1253
+ border-color: var(--stl-color-red-border);
1254
+ &.stl-ui-badge--solid {
1255
+ background-color: var(--stl-color-red-inverse-background);
1256
+ color: var(--stl-color-red-inverse-foreground);
1257
+ }
1258
+ }
1259
+ &.stl-ui-badge--intent-note,
1260
+ &.stl-ui-badge--http-post {
1261
+ background-color: var(--stl-color-blue-muted-background);
1262
+ color: var(--stl-color-blue-foreground);
1263
+ border-color: var(--stl-color-blue-border);
1264
+ &.stl-ui-badge--solid {
1265
+ background-color: var(--stl-color-blue-inverse-background);
1266
+ color: var(--stl-color-blue-inverse-foreground);
1267
+ }
1268
+ }
1269
+ &.stl-ui-badge--intent-tip {
1270
+ background-color: var(--stl-color-purple-muted-background);
1271
+ color: var(--stl-color-purple-foreground);
1272
+ border-color: var(--stl-color-purple-border);
1273
+ &.stl-ui-badge--solid {
1274
+ background-color: var(--stl-color-purple-inverse-background);
1275
+ color: var(--stl-color-purple-inverse-foreground);
1276
+ }
1277
+ }
1278
+ &.stl-ui-badge--intent-accent {
1279
+ background-color: var(--stl-color-accent-muted-background);
1280
+ color: var(--stl-color-accent-foreground);
1281
+ border-color: var(--stl-color-accent-border);
1282
+ &.stl-ui-badge--solid {
1283
+ background-color: var(--stl-color-accent-inverse-background);
1284
+ color: var(--stl-color-accent-inverse-foreground);
1285
+ }
1286
+ }
1287
+ &.stl-ui-badge--http-put,
1288
+ &.stl-ui-badge--http-patch {
1289
+ background-color: var(--stl-color-orange-muted-background);
1290
+ color: var(--stl-color-orange-foreground);
1291
+ border-color: var(--stl-color-orange-border);
1292
+ &.stl-ui-badge--solid {
1293
+ background-color: var(--stl-color-orange-inverse-background);
1294
+ color: var(--stl-color-orange-inverse-foreground);
1295
+ }
1296
+ }
1297
+
1298
+ /* Text content */
1299
+ .stl-ui-badge__content {
1300
+ display: inline-block;
1301
+ padding: 0.25em;
1302
+ }
1303
+
1304
+ /* Icons */
1305
+ svg {
1306
+ flex-shrink: 0;
1307
+ display: inline-block;
1308
+ color: rgb(from currentColor r g b / 1);
1309
+ opacity: var(--stl-ui-badge-icon-opacity, 1);
1310
+ width: var(--stl-ui-badge-icon-size);
1311
+ height: var(--stl-ui-badge-icon-size);
1312
+ }
1313
+ &:has(> svg:only-child) {
1314
+ padding: 0;
1315
+ aspect-ratio: 1;
1316
+ justify-content: center;
1317
+ }
1318
+
1319
+ /* HTTP */
1320
+ &.stl-ui-badge--http {
1321
+ font-family: var(--stl-typography-font-mono);
1322
+ font-variant-numeric: tabular-nums;
1323
+ text-transform: uppercase;
1324
+ }
1325
+ }
1326
+
1327
+ /* design system variables */
1328
+
1329
+ /* components */
1330
+
1331
+
1332
+ /* Resets */
1333
+ .stldocs-root {
1334
+ line-height: 1.5;
1335
+ letter-spacing: -0.01em;
1336
+
1337
+ a {
1338
+ color: inherit;
1339
+ cursor: pointer;
1340
+ text-decoration: none;
1341
+ }
1342
+
1343
+ *,
1344
+ *::before,
1345
+ *::after {
1346
+ box-sizing: border-box;
1347
+ }
1348
+
1349
+ /* Markdown content should get prose styling */
1350
+ :where(h1, h2, h3, h4, h5):where(:not(.stldocs-markdown, .stldocs-markdown *)) {
1351
+ display: block;
1352
+ color: var(--stl-color-foreground);
1353
+ font-weight: 500;
1354
+ line-height: var(--stl-typography-line-height-heading);
1355
+ font-family: var(--stl-typography-font-heading);
1356
+ }
1357
+
1358
+ display: block;
1359
+ margin: 0;
1360
+ }
1361
+
1362
+ .sl-markdown-content {
1363
+ .stldocs-root
1364
+ :not(a, strong, em, del, span, input, code, br)
1365
+ + :not(a, strong, em, del, span, input, code, br, :where(.not-content *)) {
1366
+ margin-top: 0;
1367
+ }
1368
+ }
1369
+
1370
+ :root {
1371
+ --stldocs-color-selected: var(--stl-color-muted-background);
1372
+ --stldocs-color-bg-inline-code: var(--stl-color-muted-background);
1373
+
1374
+ --stldocs-content-width: 720px;
1375
+ --stldocs-content-padding: 16px;
1376
+
1377
+ --stldocs-color-http-get-bg: var(--stl-color-green-muted-background);
1378
+ --stldocs-color-http-get: var(--stl-color-green-foreground);
1379
+ --stldocs-color-http-put-bg: var(--stl-color-orange-muted-background);
1380
+ --stldocs-color-http-put: var(--stl-color-orange-foreground);
1381
+ --stldocs-color-http-post-bg: var(--stl-color-blue-muted-background);
1382
+ --stldocs-color-http-post: var(--stl-color-blue-foreground);
1383
+ --stldocs-color-http-delete-bg: var(--stl-color-red-muted-background);
1384
+ --stldocs-color-http-delete: var(--stl-color-red-foreground);
1385
+
1386
+ --stldocs-syntax-color-green: var(--stl-color-green-foreground);
1387
+ --stldocs-syntax-color-orange: var(--stl-color-orange-foreground);
1388
+ --stldocs-syntax-color-purple: var(--stl-color-purple-foreground);
1389
+ --stldocs-syntax-color-blue: var(--stl-color-blue-foreground);
1390
+
1391
+ --stldocs-expander-margin-shift: 24px;
1392
+ --stldocs-expander-right-margin: 8px;
1393
+ --stldocs-title-padding-y: 2.5rem;
1394
+ --stldocs-color-backdrop-overlay: var(--stl-color-muted-background);
1395
+ }
1396
+
1397
+ /* Design System Defaults */
1398
+ .stldocs-root {
1399
+ font-family: var(--stl-typography-font);
1400
+ background-color: var(--stl-color-background);
1401
+ color: var(--stl-color-foreground);
1402
+ letter-spacing: -0.01em;
1403
+
1404
+ :where(h1) {
1405
+ font-size: var(--stl-typography-text-h1);
1406
+ letter-spacing: -0.03em;
1407
+ }
1408
+
1409
+ :where(h2) {
1410
+ font-size: var(--stl-typography-text-h2);
1411
+ letter-spacing: -0.03em;
1412
+ }
1413
+
1414
+ :where(h3) {
1415
+ font-size: var(--stl-typography-text-h3);
1416
+ letter-spacing: -0.02em;
1417
+ }
1418
+
1419
+ :where(h4) {
1420
+ font-size: var(--stl-typography-text-h4);
1421
+ letter-spacing: -0.02em;
1422
+ }
1423
+
1424
+ :where(h5) {
1425
+ font-size: var(--stl-typography-text-h5);
1426
+ letter-spacing: -0.02em;
1427
+ }
1428
+ }
1429
+
1430
+ /* Color mapping for types */
1431
+ .stldocs-root {
1432
+ .stldocs-text-keyword {
1433
+ color: var(--stl-color-foreground-muted);
1434
+ }
1435
+
1436
+ .stldocs-property-type,
1437
+ .stldocs-property-declaration,
1438
+ .stldocs-type:not(.stldocs-property-typename .stldocs-type) {
1439
+ font-family: var(--stl-typography-font-mono);
1440
+
1441
+ .stldocs-type-keyword {
1442
+ color: var(--stldocs-syntax-color-orange);
1443
+ }
1444
+
1445
+ .stldocs-type-string {
1446
+ color: var(--stldocs-syntax-color-green);
1447
+ }
1448
+
1449
+ .stldocs-type-brace,
1450
+ .stldocs-type-bracket,
1451
+ .stldocs-type-plain,
1452
+ .stldocs-text-operator,
1453
+ .stldocs-text-punctuation,
1454
+ .stldocs-truncation,
1455
+ .stldocs-type-array {
1456
+ color: var(--stl-color-foreground-reduced);
1457
+ }
1458
+
1459
+ .stldocs-type-plain {
1460
+ font-family: var(--stl-typography-font);
1461
+ }
1462
+
1463
+ .stldocs-type-reference {
1464
+ color: var(--stldocs-syntax-color-blue);
1465
+ font-weight: 600;
1466
+ a:hover {
1467
+ text-decoration: underline;
1468
+ }
1469
+ }
1470
+
1471
+ .stldocs-literal-string {
1472
+ color: var(--stldocs-syntax-color-green);
1473
+ }
1474
+
1475
+ .stldocs-literal-numeric {
1476
+ color: var(--stldocs-syntax-color-orange);
1477
+ }
1478
+
1479
+ .stldocs-text-identifier {
1480
+ font-family: var(--stl-typography-font-mono);
1481
+ color: var(--stl-color-foreground);
1482
+ }
1483
+
1484
+ .stldocs-type-propertyname .stldocs-text-identifier {
1485
+ font-family: var(--stl-typography-font);
1486
+ font-weight: 600;
1487
+ }
1488
+ }
1489
+
1490
+ [data-stldocs-language='http'],
1491
+ [data-stldocs-language='cli'] {
1492
+ .stldocs-property-type,
1493
+ .stldocs-property-declaration {
1494
+ .stldocs-truncation,
1495
+ .stldocs-type-array,
1496
+ .stldocs-text-punctuation {
1497
+ font-family: var(--stl-typography-font);
1498
+ }
1499
+ }
1500
+ }
1501
+ }
1502
+
1503
+ /* HTTP Method Color Settings */
1504
+ .stldocs-root .stldocs-method-route,
1505
+ .stldocs-root .stldocs-sidebar-method {
1506
+ [data-method='get'] {
1507
+ background: var(--stldocs-color-http-get-bg);
1508
+ color: var(--stldocs-color-http-get);
1509
+ border-color: var(--stldocs-color-http-get);
1510
+ }
1511
+
1512
+ [data-method='post'] {
1513
+ background: var(--stldocs-color-http-post-bg);
1514
+ color: var(--stldocs-color-http-post);
1515
+ border-color: var(--stldocs-color-http-post);
1516
+ }
1517
+
1518
+ [data-method='patch'],
1519
+ [data-method='put'] {
1520
+ background: var(--stldocs-color-http-put-bg);
1521
+ color: var(--stldocs-color-http-put);
1522
+ border-color: var(--stldocs-color-http-put);
1523
+ }
1524
+
1525
+ [data-method='delete'] {
1526
+ background: var(--stldocs-color-http-delete-bg);
1527
+ color: var(--stldocs-color-http-delete);
1528
+ border-color: var(--stldocs-color-http-delete);
1529
+ }
1530
+ }
1531
+
1532
+ /* Generic expand/collapse button */
1533
+ .stldocs-root .stldocs-expander {
1534
+ &[data-stldocs-expander-muted='true'] {
1535
+ .stldocs-icon {
1536
+ visibility: hidden;
1537
+ }
1538
+
1539
+ &:hover {
1540
+ .stldocs-icon {
1541
+ visibility: visible;
1542
+ }
1543
+ }
1544
+ }
1545
+
1546
+ .stldocs-expander-summary {
1547
+ cursor: pointer;
1548
+ display: flex;
1549
+ /* padding: 0.4rem 0; */
1550
+
1551
+ & > .stldocs-expander-summary-icon {
1552
+ margin-right: 8px;
1553
+ transform: translateX(-0.5px) translateY(-0.5px);
1554
+
1555
+ & > .stldocs-icon {
1556
+ vertical-align: middle;
1557
+ color: var(--stl-color-foreground-muted);
1558
+ background-color: var(--stl-color-background);
1559
+ }
1560
+
1561
+ & > :last-child {
1562
+ display: none;
1563
+ }
1564
+ }
1565
+ }
1566
+
1567
+ &[open],
1568
+ &[data-open='true'] {
1569
+ & > .stldocs-expander-summary {
1570
+ .stldocs-type-preview-content {
1571
+ display: none;
1572
+ }
1573
+
1574
+ & > .stldocs-expander-summary-icon {
1575
+ & > :first-child {
1576
+ display: none;
1577
+ }
1578
+
1579
+ & > :last-child {
1580
+ display: inline;
1581
+ }
1582
+ }
1583
+ }
1584
+
1585
+ & > .stldocs-expander-content {
1586
+ margin-left: var(--stldocs-expander-margin-shift);
1587
+ line-height: 150%;
1588
+
1589
+ & > .stldocs-property-children {
1590
+ border-left: 1px solid var(--stl-color-border);
1591
+ padding-left: 16px;
1592
+
1593
+ .stldocs-expander {
1594
+ margin-left: calc(-1 * var(--stldocs-expander-margin-shift));
1595
+ padding-right: var(--stldocs-expander-right-margin);
1596
+ }
1597
+ }
1598
+ }
1599
+ }
1600
+ }
1601
+
1602
+ /* Markdown content */
1603
+ .stldocs-root .stldocs-content {
1604
+ a {
1605
+ color: var(--stl-color-link-foreground);
1606
+ }
1607
+
1608
+ code:not(pre code) {
1609
+ font-family: var(--stl-typography-font-mono);
1610
+ border-radius: 4px;
1611
+ padding: 0 4px;
1612
+ background-color: var(--stldocs-color-bg-inline-code);
1613
+ word-break: break-all;
1614
+ font-size: 0.84rem;
1615
+ }
1616
+
1617
+ strong {
1618
+ font-weight: bold;
1619
+ }
1620
+
1621
+ em {
1622
+ font-style: italic;
1623
+ }
1624
+
1625
+ p {
1626
+ display: block;
1627
+ margin: 0 0 1em;
1628
+
1629
+ &:last-child {
1630
+ margin: 0;
1631
+ }
1632
+ }
1633
+
1634
+ li {
1635
+ margin-bottom: 0.25rem;
1636
+ display: list-item;
1637
+ }
1638
+
1639
+ ol,
1640
+ ul {
1641
+ display: block;
1642
+ list-style-type: initial;
1643
+ margin-left: 2rem;
1644
+ margin-bottom: 0.8rem;
1645
+ }
1646
+
1647
+ ol {
1648
+ list-style-type: decimal;
1649
+ }
1650
+ }
1651
+
1652
+ .stldocs-root .stldocs-input {
1653
+ border: 1px solid var(--stl-color-border);
1654
+ background: var(--stl-color-background);
1655
+ border-radius: var(--stl-ui-layout-border-radius-sml);
1656
+ display: flex;
1657
+
1658
+ &:focus-within {
1659
+ border-color: var(--stl-color-accent);
1660
+ }
1661
+
1662
+ &.stldocs-input-disabled {
1663
+ opacity: 0.5;
1664
+ }
1665
+
1666
+ input,
1667
+ .stldocs-masked-input-display {
1668
+ flex-grow: 1;
1669
+ border: none;
1670
+ background-color: transparent;
1671
+ margin: 0.5rem;
1672
+ font-size: 1rem;
1673
+ letter-spacing: initial;
1674
+ white-space: pre;
1675
+ contain: content;
1676
+ padding: 0;
1677
+
1678
+ &:focus {
1679
+ outline: none;
1680
+ }
1681
+ }
1682
+
1683
+ .stldocs-masked-input-wrapper {
1684
+ &:focus-within .stldocs-masked-input-display,
1685
+ &:not(:focus-within) input {
1686
+ opacity: 0;
1687
+ }
1688
+ }
1689
+
1690
+ .stldocs-masked-input-obscured {
1691
+ -webkit-text-stroke: currentColor 0.2em;
1692
+ }
1693
+
1694
+ .stldocs-icon {
1695
+ margin: auto 0.25rem auto 0.75rem;
1696
+ }
1697
+ }
1698
+
1699
+ .stldocs-root .stldocs-masked-input-wrapper {
1700
+ display: flex;
1701
+ flex-grow: 1;
1702
+ position: relative;
1703
+ font-family: var(--stl-typography-font-mono);
1704
+ }
1705
+
1706
+ .stldocs-root .stldocs-masked-input-display {
1707
+ position: absolute;
1708
+ inset: 0;
1709
+ display: flex;
1710
+ align-items: center;
1711
+ pointer-events: none; /* so you can click through to the real input */
1712
+ }
1713
+
1714
+ .stldocs-root .stldocs-listview {
1715
+ overflow-y: scroll;
1716
+
1717
+ .stldocs-listview-item:not(:last-child) {
1718
+ border-bottom: 1px solid var(--stl-color-border);
1719
+ }
1720
+
1721
+ [data-stldocs-listview-selected='true'] > :first-child {
1722
+ background:
1723
+ linear-gradient(var(--stl-color-ui-background-hover), var(--stl-color-ui-background-hover)),
1724
+ linear-gradient(var(--stl-color-ui-background), var(--stl-color-ui-background));
1725
+ border-radius: 0.5rem;
1726
+ }
1727
+ }
1728
+
1729
+ .stldocs-root {
1730
+ .stldocs-tooltip-host {
1731
+ display: inline-block;
1732
+ }
1733
+
1734
+ .stldocs-tooltip-content {
1735
+ border: 1px solid var(--stl-color-border);
1736
+ background: var(--stl-color-background);
1737
+ border-radius: 8px;
1738
+ padding: 0.2rem 0.4rem;
1739
+
1740
+ * {
1741
+ font-size: 0.8rem !important;
1742
+ }
1743
+
1744
+ position: absolute;
1745
+
1746
+ transition:
1747
+ opacity 0.3s ease-in-out,
1748
+ visibility 0.3s step-end 0.3s;
1749
+ visibility: hidden;
1750
+ opacity: 0;
1751
+
1752
+ max-width: 400px;
1753
+ max-height: 300px;
1754
+ overflow: auto;
1755
+
1756
+ .stldocs-property-description {
1757
+ display: none;
1758
+ }
1759
+ }
1760
+
1761
+ .stldocs-tooltip:hover .stldocs-tooltip-content {
1762
+ transition-delay: 0s, 0s;
1763
+ visibility: visible;
1764
+ opacity: 1;
1765
+ }
1766
+ }
1767
+
1768
+ .stldocs-root {
1769
+ .stldocs-breadcrumbs {
1770
+ display: flex;
1771
+ align-items: center;
1772
+ gap: 0.5rem;
1773
+
1774
+ svg {
1775
+ width: 1rem;
1776
+ min-width: 1rem;
1777
+ stroke: var(--stl-color-foreground-reduced);
1778
+ opacity: 0.25;
1779
+ margin: 0;
1780
+ }
1781
+
1782
+ .stldocs-breadcrumbs-non-link,
1783
+ .stldocs-breadcrumbs-link {
1784
+ color: var(--stl-color-foreground-reduced);
1785
+ font-size: var(--stl-typography-scale-sm);
1786
+ line-height: 150%;
1787
+ text-decoration: none;
1788
+ }
1789
+
1790
+ .stldocs-breadcrumbs-link:hover {
1791
+ text-decoration: underline;
1792
+ color: var(--stl-color-foreground);
1793
+ }
1794
+
1795
+ .stldocs-breadcrumbs-item {
1796
+ display: flex;
1797
+ align-items: center;
1798
+ gap: 0.5rem;
1799
+ margin: 0;
1800
+ }
1801
+ }
1802
+ }
1803
+
1804
+ .stldocs-root .stldocs-expand-toggle {
1805
+ font-size: var(--stl-typography-scale-sm);
1806
+ display: flex;
1807
+ flex-grow: 1;
1808
+ justify-content: flex-end;
1809
+ user-select: none;
1810
+
1811
+ &[data-stldocs-property-toggle-expanded='false'] {
1812
+ .stldocs-expand-toggle-content:last-child {
1813
+ display: none;
1814
+ }
1815
+ }
1816
+
1817
+ &[data-stldocs-property-toggle-expanded='true'] {
1818
+ .stldocs-expand-toggle-content:first-child {
1819
+ display: none;
1820
+ }
1821
+ }
1822
+
1823
+ .stldocs-expand-toggle-content {
1824
+ cursor: pointer;
1825
+
1826
+ .stldocs-icon {
1827
+ vertical-align: middle;
1828
+ }
1829
+ }
1830
+ }
1831
+
1832
+ /* Overview page content */
1833
+ .stldocs-root .stldocs-overview {
1834
+ .stldocs-overview-header {
1835
+ padding: var(--stldocs-title-padding-y) 0;
1836
+
1837
+ & > * {
1838
+ max-width: var(--stldocs-content-width);
1839
+ margin: auto 0;
1840
+ }
1841
+
1842
+ .stldocs-overview-header-info {
1843
+ margin-top: 16px;
1844
+ height: 40px;
1845
+ display: flex;
1846
+ align-items: center;
1847
+
1848
+ .stldocs-overview-header-info-timestamp {
1849
+ font-size: var(--stl-typography-scale-xs);
1850
+ color: var(--stl-color-foreground);
1851
+ opacity: 50%;
1852
+ }
1853
+ }
1854
+ }
1855
+
1856
+ .stldocs-resource {
1857
+ padding: 2rem 0;
1858
+
1859
+ .stldocs-resource-content {
1860
+ max-width: var(--stldocs-content-width);
1861
+ margin: auto 0;
1862
+ }
1863
+
1864
+ .stldocs-resource-header {
1865
+ display: flex;
1866
+ flex-direction: column;
1867
+ gap: 16px;
1868
+ opacity: 85%;
1869
+
1870
+ .stldocs-resource-title {
1871
+ .stldocs-icon {
1872
+ margin-left: 8px;
1873
+ color: var(--stl-color-foreground-muted);
1874
+ vertical-align: middle;
1875
+ display: inline;
1876
+ height: 1rem;
1877
+ }
1878
+
1879
+ .stldocs-resource-title-segment {
1880
+ margin-right: 8px;
1881
+ color: var(--stl-color-foreground);
1882
+
1883
+ &:not(:last-child) {
1884
+ color: var(--stl-color-foreground-reduced);
1885
+ font-weight: 400;
1886
+ }
1887
+ }
1888
+ }
1889
+
1890
+ .stldocs-resource-name {
1891
+ font-family: var(--stl-typography-font-mono);
1892
+ color: var(--stl-color-foreground);
1893
+ }
1894
+
1895
+ .stldocs-resource-description {
1896
+ font-size: var(--stl-typography-scale-base);
1897
+ color: var(--stl-color-foreground-reduced);
1898
+ line-height: 150%;
1899
+ }
1900
+ }
1901
+
1902
+ .stldocs-resource-content {
1903
+ .stldocs-resource-content-group {
1904
+ display: flex;
1905
+ flex-direction: column;
1906
+
1907
+ .stldocs-resource-content-group-model-title {
1908
+ padding-top: var(--stldocs-content-padding);
1909
+ color: var(--stl-color-foreground-muted);
1910
+ font-weight: normal;
1911
+ font-size: 1rem;
1912
+ padding-bottom: 0.5rem;
1913
+ display: flex;
1914
+ }
1915
+
1916
+ .stldocs-resource-content-group-name {
1917
+ color: var(--stl-color-foreground-muted);
1918
+ }
1919
+
1920
+ .stldocs-resource-content-properties {
1921
+ margin-left: calc(-1 * var(--stldocs-expander-margin-shift));
1922
+ }
1923
+ }
1924
+ }
1925
+ }
1926
+
1927
+ > .stldocs-resource:nth-child(2) {
1928
+ padding-top: 0;
1929
+ }
1930
+ }
1931
+
1932
+ /* Overview page method summary */
1933
+ .stldocs-root .stldocs-overview .stldocs-method-summary {
1934
+ padding: var(--stldocs-content-padding) 0;
1935
+
1936
+ .stldocs-method-header {
1937
+ display: flex;
1938
+ flex-direction: column;
1939
+ gap: 4px;
1940
+
1941
+ .stldocs-method-title {
1942
+ margin-bottom: 2px;
1943
+
1944
+ a:hover {
1945
+ text-decoration: underline;
1946
+ }
1947
+ }
1948
+
1949
+ .stldocs-method-route {
1950
+ padding-top: 4px;
1951
+ }
1952
+ }
1953
+
1954
+ .stldocs-method-signature {
1955
+ max-width: var(--stldocs-content-width);
1956
+ overflow: hidden;
1957
+ text-overflow: ellipsis;
1958
+ }
1959
+
1960
+ .stldocs-method-description {
1961
+ color: var(--stl-color-foreground-muted);
1962
+ height: 1.7rem;
1963
+ overflow-y: hidden;
1964
+ line-height: 1.7rem;
1965
+ padding-bottom: var(--stldocs-content-padding);
1966
+
1967
+ .stldocs-content > * {
1968
+ white-space: nowrap;
1969
+ overflow-x: hidden;
1970
+ text-overflow: ellipsis;
1971
+ }
1972
+ }
1973
+ }
1974
+
1975
+ /* Method route rendering is shared between method previews and pages */
1976
+ .stldocs-root .stldocs-method-header .stldocs-method-route {
1977
+ display: flex;
1978
+ gap: 4px;
1979
+ padding: 0;
1980
+
1981
+ .stldocs-method-route-endpoint {
1982
+ font-family: var(--stl-typography-font-mono);
1983
+ font-size: var(--stl-typography-scale-sm);
1984
+ color: var(--stl-color-foreground-reduced);
1985
+ align-content: center;
1986
+ line-height: 120%;
1987
+ overflow: hidden;
1988
+ text-overflow: ellipsis;
1989
+ white-space: nowrap;
1990
+ }
1991
+ }
1992
+
1993
+ /* Models and properties */
1994
+ .stldocs-root .stldocs-property,
1995
+ .stldocs-root .stldocs-model {
1996
+ display: flex;
1997
+ flex-direction: column;
1998
+ gap: 0.8rem;
1999
+ padding: 0.5rem 0;
2000
+ font-size: var(--stl-typography-scale-sm);
2001
+
2002
+ .stldocs-expander-summary-content {
2003
+ width: 100%;
2004
+ }
2005
+
2006
+ .stldocs-property-header {
2007
+ align-items: first baseline;
2008
+ display: flex;
2009
+ gap: 0.5rem;
2010
+ flex-wrap: wrap;
2011
+ }
2012
+
2013
+ .stldocs-property-info {
2014
+ display: flex;
2015
+ flex-direction: column;
2016
+
2017
+ & > .stldocs-property-type > .stldocs-text-identifier {
2018
+ color: var(--stl-color-foreground);
2019
+ }
2020
+ }
2021
+
2022
+ .stldocs-property-type {
2023
+ font-family: var(--stl-typography-font-mono);
2024
+ color: var(--stl-color-foreground-muted);
2025
+ }
2026
+
2027
+ .stldocs-property-type,
2028
+ .stldocs-property-declaration {
2029
+ .stldocs-type-preview[data-stldocs-type-preview='union']
2030
+ .stldocs-type-preview[data-stldocs-type-preview='properties'] {
2031
+ display: none;
2032
+ }
2033
+ }
2034
+
2035
+ .stldocs-property-deprecated {
2036
+ font-family: var(--stl-typography-font);
2037
+ color: var(--stl-color-red-foreground);
2038
+ font-size: var(--stl-typography-scale-sm);
2039
+ font-weight: 600;
2040
+ }
2041
+
2042
+ .stldocs-property-deprecated-message {
2043
+ color: var(--stl-color-red-foreground);
2044
+ font-size: var(--stl-typography-scale-sm);
2045
+ }
2046
+ .stldocs-property-declaration {
2047
+ white-space: nowrap;
2048
+ overflow: hidden;
2049
+ text-overflow: ellipsis;
2050
+ min-width: 0;
2051
+ max-width: max-content;
2052
+ border-radius: var(--stl-ui-layout-border-radius-xs);
2053
+ padding-inline: var(--stl-ui-layout-border-radius-xs);
2054
+ margin-left: calc(-1 * var(--stl-ui-layout-border-radius-xs));
2055
+ background-color: transparent;
2056
+ transition: 0.1s background-color ease;
2057
+
2058
+ .stldocs-property-deprecated {
2059
+ margin-right: 0.44rem;
2060
+ }
2061
+ }
2062
+ .stldocs-property-info:is(:target, .stldocs-property-highlighted) .stldocs-property-declaration {
2063
+ background-color: var(--stl-color-accent-muted-background);
2064
+ transition: 0.1s background-color ease;
2065
+ }
2066
+
2067
+ .stldocs-property-description,
2068
+ .stldocs-property-title {
2069
+ font-size: var(--stl-typography-scale-sm);
2070
+ color: var(--stl-color-foreground-reduced);
2071
+
2072
+ .stldocs-content {
2073
+ color: inherit;
2074
+ font-size: inherit;
2075
+ }
2076
+ }
2077
+
2078
+ .stldocs-property-name {
2079
+ font-family: var(--stl-typography-font-mono);
2080
+ color: var(--stl-color-foreground);
2081
+ font-weight: 700;
2082
+ }
2083
+
2084
+ .stldocs-property-annotation {
2085
+ color: var(--stl-color-foreground-reduced);
2086
+ }
2087
+
2088
+ .stldocs-property-typename {
2089
+ font-size: var(--stl-typography-scale-xs);
2090
+ color: var(--stl-color-foreground-muted);
2091
+ line-height: 175%;
2092
+
2093
+ .stldocs-type-reference {
2094
+ font-size: 0.8rem;
2095
+ color: var(--stldocs-syntax-color-blue);
2096
+ font-weight: 600;
2097
+ }
2098
+ }
2099
+
2100
+ .stldocs-property-type {
2101
+ .stldocs-truncation {
2102
+ margin-right: 0.2rem;
2103
+ white-space: nowrap;
2104
+ }
2105
+ }
2106
+
2107
+ .stldocs-property-badges {
2108
+ display: flex;
2109
+ font-size: 0.85rem;
2110
+ gap: 0.5rem;
2111
+ text-transform: lowercase;
2112
+ line-height: 1.5rem;
2113
+ }
2114
+
2115
+ .stldocs-property-constraints {
2116
+ display: flex;
2117
+ }
2118
+
2119
+ .stldocs-property-constraint {
2120
+ color: var(--stl-color-foreground-reduced);
2121
+
2122
+ &:not(:last-child) {
2123
+ &::after {
2124
+ content: ', ';
2125
+ margin-right: 0.4rem;
2126
+ color: var(--stl-color-foreground-reduced);
2127
+ }
2128
+ }
2129
+
2130
+ .stldocs-property-constraint-name {
2131
+ color: var(--stl-color-foreground-reduced);
2132
+
2133
+ &::after {
2134
+ content: ':';
2135
+ margin-right: 0.4rem;
2136
+ }
2137
+ }
2138
+
2139
+ .stldocs-property-constraint-value {
2140
+ background-color: var(--stldocs-color-bg-inline-code);
2141
+ color: var(--stl-color-foreground-reduced);
2142
+ font-family: var(--stl-typography-font-mono);
2143
+ border-radius: 4px;
2144
+ padding: 3px 4px;
2145
+ }
2146
+ }
2147
+
2148
+ .stldocs-property-type:not(:first-child) {
2149
+ font-size: 0.8rem;
2150
+ }
2151
+
2152
+ .stldocs-property .stldocs-property-type {
2153
+ font-size: 0.8rem;
2154
+ }
2155
+ }
2156
+
2157
+ .stldocs-root {
2158
+ .stldocs-properties {
2159
+ display: flex;
2160
+ flex-direction: column;
2161
+ line-height: 150%;
2162
+ }
2163
+ }
2164
+
2165
+ .stldocs-root .stldocs-property {
2166
+ padding: 0.2rem 0;
2167
+
2168
+ [open] > .stldocs-expander-summary {
2169
+ padding-bottom: 0;
2170
+ }
2171
+ }
2172
+
2173
+ .stldocs-root .stldocs-property:not(.stldocs-property .stldocs-property) > .stldocs-property-info {
2174
+ margin-left: var(--stldocs-expander-margin-shift);
2175
+ }
2176
+
2177
+ .stldocs-root .stldocs-tooltip-content .stldocs-property {
2178
+ gap: 0.1rem;
2179
+ padding: 0.1rem !important;
2180
+ border: 0;
2181
+ }
2182
+
2183
+ .stldocs-root .stldocs-badge {
2184
+ display: inline-block;
2185
+ background-color: var(--stl-color-muted-background);
2186
+ padding: 0 0.5rem;
2187
+ border-radius: 4px;
2188
+ font-size: var(--stl-typography-scale-xs);
2189
+ font-weight: 500;
2190
+
2191
+ &[data-badge-id='deprecated'] {
2192
+ background-color: var(--stl-color-red-muted-background);
2193
+ color: var(--stl-color-red-foreground);
2194
+ text-transform: capitalize;
2195
+ }
2196
+
2197
+ &[data-badge-id='optional'] {
2198
+ background-color: var(--stl-color-muted-background);
2199
+ text-transform: capitalize;
2200
+ }
2201
+ }
2202
+
2203
+ /* Method Pages */
2204
+
2205
+ .stldocs-root .stldocs-method-signature {
2206
+ font-family: var(--stl-typography-font-mono);
2207
+ font-size: var(--stl-typography-scale-sm);
2208
+ color: var(--stl-color-foreground-muted);
2209
+ white-space: pre-wrap;
2210
+ word-wrap: break-word;
2211
+ font-weight: 400;
2212
+ line-height: 1.5rem;
2213
+
2214
+ .stldocs-signature-qualified {
2215
+ color: var(--stl-color-foreground-reduced);
2216
+ font-weight: 400;
2217
+ }
2218
+
2219
+ .stldocs-signature-name {
2220
+ color: var(--stl-color-foreground);
2221
+ font-weight: 600;
2222
+ }
2223
+
2224
+ .stldoc-signature-params {
2225
+ .stldocs-text-identifier {
2226
+ color: var(--stl-color-foreground);
2227
+ }
2228
+ }
2229
+
2230
+ .stldocs-type {
2231
+ color: var(--stl-color-foreground);
2232
+ }
2233
+
2234
+ .stldocs-type-preview[data-stldocs-type-preview='properties'] {
2235
+ display: none;
2236
+ }
2237
+
2238
+ .stldocs-method-badges {
2239
+ margin-top: 1rem;
2240
+ }
2241
+ }
2242
+
2243
+ .stldocs-root .stldocs-method {
2244
+ .stldocs-method-content-column {
2245
+ display: contents;
2246
+ }
2247
+
2248
+ .stldocs-method-header {
2249
+ padding: var(--stldocs-title-padding-y) var(--stldocs-content-padding) var(--stldocs-content-padding);
2250
+
2251
+ .stldocs-method-title {
2252
+ font-size: var(--stl-typography-text-h1);
2253
+ letter-spacing: -0.03em;
2254
+ }
2255
+
2256
+ .stldocs-method-signature {
2257
+ margin-top: 0.75rem;
2258
+ }
2259
+
2260
+ .stldocs-method-route {
2261
+ padding-top: 12px;
2262
+ }
2263
+ }
2264
+
2265
+ .stldocs-method-description {
2266
+ grid-area: 1 / 1 / 2 / 2;
2267
+ padding-bottom: var(--stldocs-content-padding);
2268
+
2269
+ code {
2270
+ line-height: 150%;
2271
+ font-size: 0.93rem;
2272
+ }
2273
+ }
2274
+
2275
+ .stldocs-method-example {
2276
+ margin-top: 1rem;
2277
+ grid-area: 2 / 1 / 3 / 2;
2278
+
2279
+ .stldocs-snippet-multi-response {
2280
+ display: none;
2281
+ }
2282
+ }
2283
+
2284
+ .stldocs-snippet-multi-response {
2285
+ border: 1px solid var(--stl-color-border);
2286
+ border-radius: 12px;
2287
+
2288
+ .stldocs-snippet {
2289
+ background-color: transparent;
2290
+ }
2291
+
2292
+ .stldocs-snippet-code .shiki {
2293
+ padding: 0.5rem;
2294
+ }
2295
+ }
2296
+
2297
+ .stldocs-method-info {
2298
+ padding: var(--stldocs-content-padding) 0;
2299
+ grid-area: 3 / 1 / 4 / 2;
2300
+ display: flex;
2301
+ gap: 2rem;
2302
+ flex-direction: column;
2303
+ margin-top: 2.5rem;
2304
+ font-size: var(--stl-typography-scale-sm);
2305
+
2306
+ h5 {
2307
+ display: flex;
2308
+ }
2309
+ }
2310
+
2311
+ .stldocs-method-info-section {
2312
+ display: flex;
2313
+ gap: 0.5rem;
2314
+ flex-direction: column;
2315
+ }
2316
+
2317
+ .stldocs-method-content-column {
2318
+ display: contents;
2319
+ }
2320
+
2321
+ .stldocs-method-body {
2322
+ display: grid;
2323
+ gap: 2rem;
2324
+ grid-template-columns: minmax(0, 1fr);
2325
+ grid-template-rows: repeat(4, auto);
2326
+ padding: var(--stldocs-content-padding) 0;
2327
+
2328
+ .stldocs-method-description p {
2329
+ color: var(--stl-color-foreground-reduced);
2330
+ line-height: 150%;
2331
+ }
2332
+
2333
+ h5 {
2334
+ font-weight: 400;
2335
+ color: var(--stl-color-foreground-muted);
2336
+ font-size: var(--stl-typography-scale-base);
2337
+ }
2338
+
2339
+ .stldocs-method-parameters,
2340
+ .stldocs-method-parameters,
2341
+ .stldocs-method-returns {
2342
+ margin-left: calc(-1 * var(--stldocs-expander-margin-shift));
2343
+ }
2344
+
2345
+ .stldocs-method-parameters {
2346
+ display: flex;
2347
+ flex-direction: column;
2348
+ gap: 0.5rem;
2349
+ }
2350
+
2351
+ .stldocs-method-parameters h5 {
2352
+ margin-left: var(--stldocs-expander-margin-shift);
2353
+ }
2354
+ }
2355
+
2356
+ .stldocs-snippet {
2357
+ top: calc(var(--sl-nav-height) + 1rem);
2358
+ position: sticky;
2359
+ z-index: 5;
2360
+
2361
+ font-size: var(--stl-typography-scale-sm);
2362
+ font-family: var(--stl-typography-font-mono);
2363
+
2364
+ padding: 0.5rem;
2365
+ border-radius: calc(12px + 0.5rem);
2366
+ display: flex;
2367
+ flex-direction: column;
2368
+ background-color: var(--stl-color-faint-background);
2369
+ border: 1px solid var(--stl-color-border-faint);
2370
+
2371
+ .stldocs-snippet-request {
2372
+ background-color: var(--stl-color-background);
2373
+ --shiki-background: var(--stl-color-background);
2374
+ border: 1px solid var(--stl-color-border);
2375
+ border-radius: 12px;
2376
+ position: relative;
2377
+
2378
+ .stldocs-snippet-code {
2379
+ border-bottom-left-radius: 12px;
2380
+ border-bottom-right-radius: 12px;
2381
+ }
2382
+ }
2383
+
2384
+ .stldocs-snippet-request-title {
2385
+ display: flex;
2386
+ justify-content: space-between;
2387
+ background-color: var(--stl-color-background);
2388
+ color: var(--stl-color-foreground-reduced);
2389
+ border-bottom: 1px solid var(--stl-color-border);
2390
+ border-top-right-radius: 12px;
2391
+ border-top-left-radius: 12px;
2392
+ padding: 0.5rem;
2393
+ padding-left: 0.75rem;
2394
+ gap: 0.5rem;
2395
+ font-family: var(--stl-typography-font);
2396
+
2397
+ .stldocs-snippet-request-title-method {
2398
+ flex-grow: 1;
2399
+ min-width: 0;
2400
+ }
2401
+
2402
+ .stldocs-snippet-request-title-method,
2403
+ .stldocs-snippet-request-title-content {
2404
+ display: flex;
2405
+ gap: 0.5rem;
2406
+ align-items: center;
2407
+ }
2408
+
2409
+ h3 {
2410
+ font-weight: 500;
2411
+ font-style: normal;
2412
+ line-height: 100%;
2413
+ font-size: inherit;
2414
+ font-family: var(--stl-typography-font);
2415
+ color: var(--stl-color-foreground);
2416
+ margin: 0;
2417
+
2418
+ overflow: hidden;
2419
+ white-space: nowrap;
2420
+ text-overflow: ellipsis;
2421
+ }
2422
+
2423
+ @media (min-width: 1280px) {
2424
+ .stldocs-snippet-request-title-label {
2425
+ display: none;
2426
+ }
2427
+ }
2428
+
2429
+ .stldocs-icon {
2430
+ width: 16px;
2431
+ }
2432
+
2433
+ .stldocs-snippet-request-title-content {
2434
+ font-family: var(--stl-typography-font);
2435
+ display: flex;
2436
+ gap: 0.5rem;
2437
+
2438
+ .stldocs-snippet-request-title-language {
2439
+ position: relative;
2440
+ color: var(--stl-color-foreground);
2441
+ cursor: pointer;
2442
+ display: flex;
2443
+ align-items: center;
2444
+ gap: 4px;
2445
+
2446
+ select {
2447
+ z-index: 5;
2448
+ padding-right: 25px;
2449
+ display: flex;
2450
+ align-items: center;
2451
+ }
2452
+ }
2453
+ }
2454
+ }
2455
+
2456
+ .stldocs-snippet-response-pane {
2457
+ padding: 0.5rem;
2458
+ display: none;
2459
+ --shiki-background: var(--stl-color-faint-background);
2460
+
2461
+ &.stldocs-snippet-response-pane-active {
2462
+ display: block;
2463
+ }
2464
+
2465
+ .stldocs-snippet-code {
2466
+ padding: 0;
2467
+ }
2468
+ }
2469
+
2470
+ .stldocs-snippet-response {
2471
+ margin-top: 1rem;
2472
+ }
2473
+ }
2474
+
2475
+ .stldocs-method-response-column {
2476
+ display: flex;
2477
+ flex-direction: column;
2478
+ gap: 1rem;
2479
+ margin-top: 2.5rem;
2480
+ }
2481
+
2482
+ .stldocs-snippet-code {
2483
+ width: 0;
2484
+ min-width: 100%;
2485
+ overflow: auto;
2486
+ display: block;
2487
+ white-space: preserve nowrap;
2488
+ padding: 1rem;
2489
+ max-height: 560px;
2490
+ font-size: var(--stl-typography-scale-sm);
2491
+ line-height: 1.5;
2492
+ transition: height 240ms ease;
2493
+ will-change: height;
2494
+ scrollbar-color: var(--stl-color-border) transparent;
2495
+
2496
+ pre,
2497
+ .shiki {
2498
+ margin: 0;
2499
+ padding: 0;
2500
+ width: max-content;
2501
+ min-width: 100%;
2502
+ }
2503
+
2504
+ pre.shiki {
2505
+ counter-reset: codeblock-line;
2506
+
2507
+ .line {
2508
+ counter-increment: codeblock-line;
2509
+
2510
+ &::before {
2511
+ content: counter(codeblock-line);
2512
+ color: var(--stl-color-foreground-muted);
2513
+ margin-right: 1rem;
2514
+ opacity: 0.5;
2515
+ display: inline-flex;
2516
+ width: 1rem;
2517
+ text-align: right;
2518
+ }
2519
+
2520
+ &.ellipsis {
2521
+ color: var(--stl-color-foreground-muted) !important;
2522
+ opacity: 0.5;
2523
+ }
2524
+ }
2525
+ }
2526
+ }
2527
+
2528
+ .stldocs-snippet-footer {
2529
+ border-top: 1px solid var(--stl-color-border);
2530
+ padding: 0.5rem;
2531
+ }
2532
+
2533
+ .stldocs-snippet-response-tab {
2534
+ display: flex;
2535
+ gap: 0.5rem;
2536
+ overflow-x: auto;
2537
+
2538
+ .stldocs-snippet-response-tab-item {
2539
+ flex: 1;
2540
+ border-bottom: 2px solid transparent;
2541
+ min-width: 160px;
2542
+ height: 40px;
2543
+
2544
+ button {
2545
+ width: 100%;
2546
+ white-space: nowrap;
2547
+ overflow: hidden;
2548
+ text-overflow: ellipsis;
2549
+ vertical-align: middle;
2550
+ color: var(--stl-color-foreground-reduced);
2551
+ }
2552
+
2553
+ button:hover {
2554
+ background-color: var(--stl-color-background-hover);
2555
+ }
2556
+ }
2557
+
2558
+ .stldocs-snippet-response-tab-item-active {
2559
+ border-color: var(--stl-color-accent-inverse-background);
2560
+
2561
+ button {
2562
+ color: var(--stl-color-foreground);
2563
+ }
2564
+ }
2565
+
2566
+ &.stldocs-snippet-response-tab-single-return {
2567
+ background-color: var(--stl-color-faint-background);
2568
+ border-top-left-radius: 12px;
2569
+ border-top-right-radius: 12px;
2570
+
2571
+ .stldocs-snippet-response-tab-item {
2572
+ border: none;
2573
+ color: var(--stl-color-foreground-reduced);
2574
+ font-weight: 400;
2575
+ display: flex;
2576
+
2577
+ button {
2578
+ justify-content: flex-start;
2579
+ cursor: default;
2580
+ height: auto;
2581
+
2582
+ &:hover {
2583
+ background-color: transparent;
2584
+ }
2585
+ }
2586
+ }
2587
+ }
2588
+ }
2589
+
2590
+ .stldocs-markdown {
2591
+ :first-child {
2592
+ margin-top: 0;
2593
+ }
2594
+ }
2595
+ }
2596
+
2597
+ .stldocs-root .stldocs-language-block {
2598
+ background-color: var(--stl-color-background);
2599
+ border: 1px solid var(--stl-color-border);
2600
+ border-radius: 8px;
2601
+ padding: 16px;
2602
+ display: flex;
2603
+ flex-direction: column;
2604
+ gap: 8px;
2605
+
2606
+ .stldocs-language-block-content {
2607
+ display: flex;
2608
+ gap: 12px;
2609
+
2610
+ .stldocs-language-block-content-icon {
2611
+ display: inline-flex;
2612
+ border: 1px solid var(--stl-color-border);
2613
+ border-radius: 4px;
2614
+ padding: 12px;
2615
+ aspect-ratio: 1 / 1;
2616
+ }
2617
+
2618
+ .stldocs-language-block-content-info {
2619
+ .stldocs-language-block-content-info-language {
2620
+ line-height: 120%;
2621
+ font-weight: 600;
2622
+ }
2623
+
2624
+ .stldocs-language-block-content-info-version {
2625
+ font-family: var(--stl-typography-font-mono);
2626
+ font-size: var(--stl-typography-scale-sm);
2627
+ font-weight: 200;
2628
+ }
2629
+ }
2630
+ }
2631
+
2632
+ .stldocs-language-block-install {
2633
+ display: flex;
2634
+ font-family: var(--stl-typography-font-mono);
2635
+ font-size: var(--stl-typography-scale-sm);
2636
+ background-color: var(--stldocs-color-bg-inline-code);
2637
+ border: 1px solid var(--stl-color-border);
2638
+ color: var(--stl-color-foreground-reduced);
2639
+ border-radius: 4px;
2640
+ padding: 4px 8px;
2641
+
2642
+ pre {
2643
+ flex-grow: 1;
2644
+ white-space: nowrap;
2645
+ overflow-x: hidden;
2646
+ text-overflow: ellipsis;
2647
+ display: flex;
2648
+ align-items: center;
2649
+ }
2650
+
2651
+ svg {
2652
+ vertical-align: middle;
2653
+ min-width: 16px;
2654
+ }
2655
+ }
2656
+
2657
+ .stldocs-language-block-links {
2658
+ display: flex;
2659
+ gap: 8px;
2660
+
2661
+ & > a:last-child {
2662
+ flex-grow: 1;
2663
+ }
2664
+ }
2665
+ }
2666
+
2667
+ @media (min-width: 1280px) {
2668
+ .stldocs-root .stldocs-method.stldocs-method-double-pane {
2669
+ .stldocs-method-example {
2670
+ flex: 1 1 500px;
2671
+ max-width: 100%;
2672
+ width: 100%;
2673
+ }
2674
+
2675
+ .stldocs-method-body {
2676
+ flex-direction: row;
2677
+ gap: 2rem;
2678
+ }
2679
+ }
2680
+ }
2681
+
2682
+ /* Don't put expanders in the margin on mobile */
2683
+ @media (max-width: 50rem) {
2684
+ .stldocs-root .stldocs-method-body {
2685
+ padding: 1rem var(--stldocs-content-padding) !important;
2686
+ }
2687
+
2688
+ .stldocs-root .stldocs-resource .stldocs-resource-content {
2689
+ padding: 0 var(--stldocs-content-padding) !important;
2690
+
2691
+ .stldocs-resource-content-properties {
2692
+ margin-left: 0 !important;
2693
+ }
2694
+ }
2695
+ }
2696
+
2697
+ @media (min-width: 50rem) {
2698
+ .stldocs-root .stldocs-method {
2699
+ .stldocs-method-header {
2700
+ padding: var(--stldocs-title-padding-y) 0;
2701
+ }
2702
+ }
2703
+ }
2704
+
2705
+ @media (min-width: 1280px) {
2706
+ .stldocs-root {
2707
+ .stldocs-method.stldocs-method-double-pane .stldocs-method-content-column {
2708
+ display: block;
2709
+ }
2710
+
2711
+ .stldocs-method.stldocs-method-double-pane .stldocs-method-body {
2712
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2713
+ grid-template-areas: 'description example';
2714
+ grid-template-rows: unset;
2715
+
2716
+ .stldocs-snippet {
2717
+ .stldocs-snippet-response {
2718
+ display: block;
2719
+ }
2720
+
2721
+ .stldocs-snippet-response-pane {
2722
+ position: relative;
2723
+ padding: 0;
2724
+ --shiki-background: transparent;
2725
+
2726
+ &::before {
2727
+ content: '';
2728
+ flex: 0 0 1rem;
2729
+ width: calc(100% + 2rem);
2730
+ height: 1px;
2731
+ position: absolute;
2732
+ top: calc(-0.5rem);
2733
+ left: -1rem;
2734
+ background-color: var(--stl-color-border-faint);
2735
+ }
2736
+ }
2737
+
2738
+ .stldocs-snippet-multi-response {
2739
+ display: block;
2740
+ padding: 0;
2741
+ }
2742
+ }
2743
+
2744
+ .stldocs-method-response-column {
2745
+ display: none;
2746
+ margin-top: 0;
2747
+ }
2748
+
2749
+ .stldocs-method-content-column {
2750
+ grid-area: description;
2751
+ }
2752
+
2753
+ .stldocs-method-example {
2754
+ margin-top: 0;
2755
+ grid-area: example;
2756
+
2757
+ .stldocs-snippet-multi-response {
2758
+ display: block;
2759
+ border: none;
2760
+
2761
+ .stldocs-snippet {
2762
+ background-color: transparent;
2763
+ border: none;
2764
+ }
2765
+ }
2766
+ }
2767
+
2768
+ .stldocs-method-info {
2769
+ grid-area: unset;
2770
+ margin-top: 0;
2771
+ }
2772
+
2773
+ .stldocs-snippet-response-tab {
2774
+ margin-bottom: 0.5rem;
2775
+
2776
+ &.stldocs-snippet-response-tab-single-return {
2777
+ background-color: transparent;
2778
+
2779
+ .stldocs-snippet-response-tab-item {
2780
+ button {
2781
+ &:hover {
2782
+ background-color: transparent;
2783
+ }
2784
+ }
2785
+ }
2786
+ }
2787
+ }
2788
+ }
2789
+ }
2790
+ }
2791
+
2792
+ .stldocs-sidebar {
2793
+ font-family: var(--stl-typography-font);
2794
+ font-size: var(--stl-typography-scale-sm);
2795
+
2796
+ a {
2797
+ text-decoration: none;
2798
+ color: var(--stl-color-foreground-reduced);
2799
+ }
2800
+
2801
+ .stldocs-sidebar-resource-title {
2802
+ padding-bottom: 6px;
2803
+ }
2804
+
2805
+ .stldocs-sidebar-resource,
2806
+ .stldocs-sidebar-method {
2807
+ padding: 6px;
2808
+ display: flex;
2809
+ gap: 0.5rem;
2810
+
2811
+ &[data-selected='true'] {
2812
+ & > a,
2813
+ & > details > summary > a {
2814
+ color: var(--stl-color-foreground);
2815
+ }
2816
+ }
2817
+ }
2818
+
2819
+ .stldocs-sidebar-resource-title {
2820
+ display: block;
2821
+
2822
+ a {
2823
+ color: var(--stl-color-foreground);
2824
+ font-weight: 500;
2825
+ }
2826
+ }
2827
+
2828
+ .stldocs-sidebar-expander {
2829
+ .stldocs-expander-summary {
2830
+ cursor: pointer;
2831
+ display: flex;
2832
+
2833
+ & > .stldocs-expander-summary-icon {
2834
+ transform: translateX(-0.5px) translateY(-0.5px);
2835
+ margin-left: 8px;
2836
+
2837
+ & > .stldocs-icon {
2838
+ vertical-align: middle;
2839
+ color: var(--stl-color-foreground-muted);
2840
+ }
2841
+
2842
+ & > :last-child {
2843
+ display: none;
2844
+ }
2845
+ }
2846
+ }
2847
+
2848
+ &[open],
2849
+ &[data-open='true'] {
2850
+ & > .stldocs-expander-summary {
2851
+ .stldocs-type-preview-content {
2852
+ display: none;
2853
+ }
2854
+
2855
+ & > .stldocs-expander-summary-icon {
2856
+ & > :first-child {
2857
+ display: none;
2858
+ }
2859
+
2860
+ & > :last-child {
2861
+ display: inline;
2862
+ }
2863
+ }
2864
+ }
2865
+
2866
+ & > .stldocs-expander-content {
2867
+ margin-left: 10px;
2868
+ line-height: 150%;
2869
+ }
2870
+ }
2871
+ }
2872
+ }
2873
+
2874
+ .stldocs-root .stldocs-search-form {
2875
+ display: flex;
2876
+ flex-direction: column;
2877
+
2878
+ .stldocs-search-filter {
2879
+ margin-top: 0.5rem;
2880
+ display: flex;
2881
+ gap: 0.5rem;
2882
+
2883
+ .stl-ui-button {
2884
+ flex: 1 1 auto;
2885
+ padding: 0;
2886
+ display: flex;
2887
+ gap: 0.5em;
2888
+
2889
+ .stldocs-search-filter-count {
2890
+ font-size: 0.75rem;
2891
+ background-color: var(--stldocs-color-selected);
2892
+ border-radius: 100vmax;
2893
+ padding: 0 0.35rem;
2894
+ line-height: 1.5;
2895
+ font-variant-numeric: tabular-nums;
2896
+ }
2897
+
2898
+ svg {
2899
+ flex: 0 0 auto;
2900
+ }
2901
+ }
2902
+
2903
+ @media not (min-width: 50rem) {
2904
+ svg {
2905
+ display: block;
2906
+ }
2907
+ .stldocs-search-filter-label,
2908
+ .stldocs-search-filter-count {
2909
+ display: none;
2910
+ }
2911
+ }
2912
+ }
2913
+
2914
+ .stldocs-search-result {
2915
+ display: flex;
2916
+ flex-direction: column;
2917
+ gap: 0.5rem;
2918
+ cursor: pointer;
2919
+ margin: 0.5rem 0;
2920
+ padding: 0.5rem 0.8rem;
2921
+
2922
+ mark {
2923
+ color: var(--stl-color-foreground);
2924
+ background-color: var(--stl-color-text-selection-background);
2925
+ box-shadow: inset 0 -1px rgb(from var(--stl-color-text-selection-background) r g b / 1);
2926
+ }
2927
+
2928
+ &[data-stldocs-search-result='resource'] {
2929
+ .stldocs-search-result-resource-info {
2930
+ display: flex;
2931
+ gap: 0.5rem;
2932
+
2933
+ .stldocs-search-result-resource-title {
2934
+ font-weight: 600;
2935
+ }
2936
+
2937
+ .stldocs-search-result-resource-path {
2938
+ font-family: var(--stl-typography-font-mono);
2939
+ color: var(--stl-color-foreground);
2940
+ overflow: hidden;
2941
+ text-overflow: ellipsis;
2942
+ white-space: nowrap;
2943
+ }
2944
+ }
2945
+ }
2946
+
2947
+ &[data-stldocs-search-result='http_method'] {
2948
+ h3.stldocs-method-title {
2949
+ font-size: 1.2rem;
2950
+ }
2951
+
2952
+ .stldocs-method-header {
2953
+ display: flex;
2954
+ flex-direction: column;
2955
+ gap: 0.5rem;
2956
+
2957
+ .stldocs-method-signature {
2958
+ font-family: var(--stl-typography-font-mono);
2959
+ color: var(--stl-color-foreground);
2960
+ white-space: pre-wrap;
2961
+ word-break: break-word;
2962
+
2963
+ .stldocs-text-identifier {
2964
+ color: var(--stl-color-foreground);
2965
+ }
2966
+ }
2967
+
2968
+ .stldocs-method-route {
2969
+ font-size: 0.8rem;
2970
+
2971
+ .stldocs-method-route-endpoint {
2972
+ font-family: var(--stl-typography-font-mono);
2973
+ color: var(--stl-color-foreground-muted);
2974
+ }
2975
+ }
2976
+ }
2977
+
2978
+ .stldocs-method-description {
2979
+ color: var(--stl-color-foreground);
2980
+ }
2981
+ }
2982
+
2983
+ &[data-stldocs-search-result='property'] {
2984
+ .stldocs-property-info {
2985
+ display: flex;
2986
+ flex-direction: column;
2987
+ gap: 0.5rem;
2988
+ }
2989
+
2990
+ .stldocs-property-header {
2991
+ display: flex;
2992
+ gap: 0.5rem;
2993
+
2994
+ .stldocs-property-name {
2995
+ font-family: var(--stl-typography-font-mono);
2996
+ }
2997
+
2998
+ .stldocs-property-typename {
2999
+ color: var(--stl-color-foreground-muted);
3000
+ }
3001
+ }
3002
+
3003
+ .stldocs-property-description {
3004
+ color: var(--stl-color-foreground);
3005
+ }
3006
+ }
3007
+
3008
+ &[data-stldocs-search-result='model'] {
3009
+ .stldocs-property-info {
3010
+ display: flex;
3011
+ flex-direction: column;
3012
+ gap: 0.5rem;
3013
+
3014
+ .stldocs-property-type {
3015
+ font-family: var(--stl-typography-font-mono);
3016
+ color: var(--stl-color-foreground);
3017
+ }
3018
+ }
3019
+ }
3020
+
3021
+ &[data-stldocs-search-result='guide'] {
3022
+ .stldocs-search-result-guide-title {
3023
+ font-size: 1.2rem;
3024
+ }
3025
+
3026
+ .stldocs-search-result-guide-excerpt {
3027
+ color: var(--stl-color-foreground);
3028
+ }
3029
+
3030
+ .stldocs-search-breadcrumb-item {
3031
+ text-transform: capitalize;
3032
+ }
3033
+ }
3034
+ }
3035
+
3036
+ .stldocs-search-breadcrumb {
3037
+ display: flex;
3038
+ gap: 0.5rem;
3039
+ font-size: 0.8rem;
3040
+ overflow: hidden;
3041
+ text-overflow: ellipsis;
3042
+ white-space: nowrap;
3043
+
3044
+ .stldocs-search-breadcrumb-item {
3045
+ color: var(--stl-color-foreground-muted);
3046
+ }
3047
+
3048
+ .stldocs-icon {
3049
+ margin-top: auto;
3050
+ margin-bottom: auto;
3051
+ }
3052
+ }
3053
+
3054
+ .stldocs-search-disabled-state-container {
3055
+ margin: auto;
3056
+ text-align: center;
3057
+ }
3058
+ }
3059
+
3060
+ .stldocs-root .stldocs-search-modal {
3061
+ height: calc(100svh - var(--sl-nav-height));
3062
+ width: 100%;
3063
+ overflow: hidden;
3064
+ display: none;
3065
+ padding: 1rem 1rem 0;
3066
+ inset: 0;
3067
+ background-color: var(--stl-color-background);
3068
+ color: var(--stl-color-foreground);
3069
+ gap: 0.5rem;
3070
+ border: none;
3071
+
3072
+ &:popover-open,
3073
+ &[data-stldocs-modal-open='true'] {
3074
+ display: flex;
3075
+ flex-direction: column;
3076
+ position: fixed;
3077
+ top: var(--sl-nav-height);
3078
+ }
3079
+
3080
+ .stldocs-search-form {
3081
+ height: 100%;
3082
+ width: 100%;
3083
+
3084
+ .stldocs-listview {
3085
+ margin: 0.8rem 0 0;
3086
+ height: 100%;
3087
+ padding-bottom: 1rem;
3088
+ }
3089
+ }
3090
+
3091
+ .stldocs-search-modal-close-button {
3092
+ display: flex;
3093
+ justify-content: flex-end;
3094
+ }
3095
+
3096
+ &::backdrop {
3097
+ background-color: var(--stldocs-color-backdrop-overlay);
3098
+ -webkit-backdrop-filter: blur(0.25rem);
3099
+ backdrop-filter: blur(0.25rem);
3100
+ top: var(--sl-nav-height);
3101
+ }
3102
+ }
3103
+
3104
+ @keyframes stldocs-spinner-rotate {
3105
+ 100% {
3106
+ transform: rotate(360deg);
3107
+ }
3108
+ }
3109
+
3110
+ @media (min-width: 50rem) {
3111
+ .stldocs-root {
3112
+ .stldocs-search-modal {
3113
+ height: 100%;
3114
+ width: 1024px;
3115
+ max-width: calc(100% - 4rem);
3116
+ max-height: 80vh;
3117
+ margin: 3rem auto;
3118
+ border: 1px solid var(--stl-color-border);
3119
+ /* nest with input that has --stl-ui-layout-border-radius-sml */
3120
+ border-radius: calc(var(--stl-ui-layout-border-radius-sml) + 0.9rem);
3121
+
3122
+ .stldocs-search-modal-close-button {
3123
+ display: none;
3124
+ }
3125
+
3126
+ &:popover-open,
3127
+ &[data-stldocs-modal-open='true'] {
3128
+ top: 0;
3129
+ }
3130
+
3131
+ &::backdrop {
3132
+ top: 0;
3133
+ }
3134
+ }
3135
+ }
3136
+ }
3137
+
3138
+ /* For standalone usage of docs-ui */
3139
+
3140
+ /*
3141
+ * TODO: replace with real import once rolldown css support matures further
3142
+ * This import gets bundled so this import will should need to be resolved at runtime
3143
+ */
3144
+
3145
+