@stainless-api/docs-ui 0.1.0-beta.8 → 0.1.0-beta.81

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 (155) hide show
  1. package/dist/chunk-BYypO7fO.js +18 -0
  2. package/dist/components/MaskedInput.d.ts +14 -0
  3. package/dist/components/MaskedInput.js +76 -0
  4. package/dist/components/breadcrumbs.d.ts +25 -0
  5. package/dist/components/breadcrumbs.js +64 -0
  6. package/dist/components/icons.d.ts +65 -0
  7. package/dist/components/icons.js +941 -0
  8. package/dist/components/index.d.ts +16 -0
  9. package/dist/components/index.js +75 -0
  10. package/dist/components/method.d.ts +59 -0
  11. package/dist/components/method.js +97 -0
  12. package/dist/components/overview.d.ts +39 -0
  13. package/dist/components/overview.js +139 -0
  14. package/dist/components/primitives.d.ts +107 -0
  15. package/dist/components/primitives.js +253 -0
  16. package/dist/components/properties.d.ts +54 -0
  17. package/dist/components/properties.js +146 -0
  18. package/dist/components/sdk-sidebar.d.ts +15 -0
  19. package/dist/components/sdk-sidebar.js +52 -0
  20. package/dist/components/sdk.d.ts +128 -0
  21. package/dist/components/sdk.js +490 -0
  22. package/dist/components/snippets.d.ts +71 -0
  23. package/dist/components/snippets.js +184 -0
  24. package/dist/components/stl-sidebar.d.ts +58 -0
  25. package/dist/components/stl-sidebar.js +114 -0
  26. package/dist/contexts/component-generics.d.ts +30 -0
  27. package/dist/contexts/component-generics.js +33 -0
  28. package/dist/contexts/component-types.d.ts +8 -0
  29. package/dist/contexts/component-types.js +0 -0
  30. package/dist/contexts/component.d.ts +21 -0
  31. package/dist/contexts/component.js +24 -0
  32. package/dist/contexts/docs.d.ts +62 -0
  33. package/dist/contexts/docs.js +91 -0
  34. package/dist/contexts/index.d.ts +13 -0
  35. package/dist/contexts/index.js +45 -0
  36. package/dist/contexts/markdown.d.ts +22 -0
  37. package/dist/contexts/markdown.js +49 -0
  38. package/dist/contexts/navigation.d.ts +29 -0
  39. package/dist/contexts/navigation.js +24 -0
  40. package/dist/contexts/use-components.d.ts +6 -0
  41. package/dist/contexts/use-components.js +8 -0
  42. package/dist/index-pvh-w1xa.d.ts +1776 -0
  43. package/dist/index.d.ts +7 -0
  44. package/dist/index.js +9 -7542
  45. package/dist/languages/cli.d.ts +38 -0
  46. package/dist/languages/cli.js +167 -0
  47. package/dist/languages/csharp.d.ts +42 -0
  48. package/dist/languages/csharp.js +284 -0
  49. package/dist/languages/go.d.ts +40 -0
  50. package/dist/languages/go.js +304 -0
  51. package/dist/languages/http.d.ts +46 -0
  52. package/dist/languages/http.js +387 -0
  53. package/dist/languages/index.d.ts +51 -0
  54. package/dist/languages/index.js +33 -0
  55. package/dist/languages/java.d.ts +43 -0
  56. package/dist/languages/java.js +404 -0
  57. package/dist/languages/php.d.ts +40 -0
  58. package/dist/languages/php.js +313 -0
  59. package/dist/languages/python.d.ts +40 -0
  60. package/dist/languages/python.js +270 -0
  61. package/dist/languages/ruby.d.ts +40 -0
  62. package/dist/languages/ruby.js +388 -0
  63. package/dist/languages/terraform.d.ts +48 -0
  64. package/dist/languages/terraform.js +244 -0
  65. package/dist/languages/typescript.d.ts +40 -0
  66. package/dist/languages/typescript.js +450 -0
  67. package/dist/markdown/index.d.ts +11 -0
  68. package/dist/markdown/index.js +80 -0
  69. package/dist/markdown/md.d.ts +15 -0
  70. package/dist/markdown/md.js +41 -0
  71. package/dist/markdown/printer.d.ts +13 -0
  72. package/dist/markdown/printer.js +76 -0
  73. package/dist/markdown/utils.d.ts +21 -0
  74. package/dist/markdown/utils.js +31 -0
  75. package/dist/routing.d.ts +61 -0
  76. package/dist/routing.js +176 -150
  77. package/dist/spec.d.ts +65 -0
  78. package/dist/spec.js +167 -0
  79. package/dist/style.d.ts +178 -0
  80. package/dist/style.js +179 -0
  81. package/dist/styles/main.css +784 -752
  82. package/dist/styles/main.js +0 -0
  83. package/dist/styles/primitives.css +408 -446
  84. package/dist/styles/primitives.js +0 -0
  85. package/dist/styles/resets.css +32 -41
  86. package/dist/styles/resets.js +0 -0
  87. package/dist/styles/search.css +192 -270
  88. package/dist/styles/search.js +0 -0
  89. package/dist/styles/sidebar.css +182 -69
  90. package/dist/styles/sidebar.js +0 -0
  91. package/dist/styles/variables.css +28 -89
  92. package/dist/styles/variables.js +0 -0
  93. package/dist/styles.css +3423 -0
  94. package/dist/styles.mjs +1 -0
  95. package/dist/use-strict-context-L0c8JKg4.js +16 -0
  96. package/dist/utils.d.ts +20 -0
  97. package/dist/utils.js +54 -0
  98. package/package.json +74 -22
  99. package/dist/mcp.js +0 -16003
  100. package/dist/styles/snippets.css +0 -132
  101. package/src/components/breadcrumbs.tsx +0 -94
  102. package/src/components/chat.tsx +0 -154
  103. package/src/components/dropdown.tsx +0 -91
  104. package/src/components/icons.tsx +0 -584
  105. package/src/components/index.ts +0 -9
  106. package/src/components/method.tsx +0 -146
  107. package/src/components/overview.tsx +0 -160
  108. package/src/components/primitives.tsx +0 -284
  109. package/src/components/properties.tsx +0 -130
  110. package/src/components/scripts/dropdown.ts +0 -78
  111. package/src/components/sdk.tsx +0 -403
  112. package/src/components/sidebar.tsx +0 -99
  113. package/src/components/snippets.tsx +0 -180
  114. package/src/contexts/component-generics.tsx +0 -48
  115. package/src/contexts/component-types.tsx +0 -5
  116. package/src/contexts/component.tsx +0 -32
  117. package/src/contexts/docs.tsx +0 -75
  118. package/src/contexts/index.tsx +0 -17
  119. package/src/contexts/markdown.tsx +0 -43
  120. package/src/contexts/navigation.tsx +0 -44
  121. package/src/contexts/search.tsx +0 -28
  122. package/src/contexts/use-components.tsx +0 -4
  123. package/src/index.ts +0 -6
  124. package/src/languages/go.tsx +0 -281
  125. package/src/languages/http.tsx +0 -321
  126. package/src/languages/index.ts +0 -26
  127. package/src/languages/java.tsx +0 -358
  128. package/src/languages/python.tsx +0 -255
  129. package/src/languages/ruby.tsx +0 -320
  130. package/src/languages/typescript.tsx +0 -393
  131. package/src/markdown/index.ts +0 -107
  132. package/src/markdown/md.ts +0 -45
  133. package/src/markdown/utils.ts +0 -49
  134. package/src/routing.ts +0 -238
  135. package/src/search/form.tsx +0 -127
  136. package/src/search/index.tsx +0 -1
  137. package/src/search/indexer.ts +0 -246
  138. package/src/search/mcp.ts +0 -61
  139. package/src/search/printer.tsx +0 -86
  140. package/src/search/providers/algolia.ts +0 -88
  141. package/src/search/providers/fuse.ts +0 -19
  142. package/src/search/providers/pagefind.ts +0 -17
  143. package/src/search/providers/walker.ts +0 -30
  144. package/src/search/results.tsx +0 -182
  145. package/src/search/state.ts +0 -64
  146. package/src/search/types.ts +0 -116
  147. package/src/style.ts +0 -196
  148. package/src/styles/main.css +0 -986
  149. package/src/styles/primitives.css +0 -580
  150. package/src/styles/resets.css +0 -39
  151. package/src/styles/search.css +0 -341
  152. package/src/styles/sidebar.css +0 -85
  153. package/src/styles/snippets.css +0 -130
  154. package/src/styles/variables.css +0 -86
  155. package/src/utils.ts +0 -41
@@ -1,572 +1,534 @@
1
- @layer docs-ui {
2
- /* Design System Defaults */
3
- .stldocs-root {
4
- font-family: var(--stldocs-font);
5
- background-color: var(--stldocs-color-bg);
6
-
7
- h1 {
8
- font-size: var(--stldocs-font-size-h1);
9
- }
1
+ /* Design System Defaults */
2
+ .stldocs-root {
3
+ font-family: var(--stl-typography-font);
4
+ color: var(--stl-color-foreground);
5
+ letter-spacing: -0.01em;
6
+
7
+ :where(h1) {
8
+ font-size: var(--stl-typography-text-h1);
9
+ letter-spacing: -0.03em;
10
+ }
10
11
 
11
- h2 {
12
- font-size: var(--stldocs-font-size-h2);
13
- }
12
+ :where(h2) {
13
+ font-size: var(--stl-typography-text-h2);
14
+ letter-spacing: -0.03em;
15
+ }
14
16
 
15
- h3 {
16
- font-size: var(--stldocs-font-size-h3);
17
- }
17
+ :where(h3) {
18
+ font-size: var(--stl-typography-text-h3);
19
+ letter-spacing: -0.02em;
20
+ }
18
21
 
19
- h4 {
20
- font-size: var(--stldocs-font-size-h4);
21
- }
22
+ :where(h4) {
23
+ font-size: var(--stl-typography-text-h4);
24
+ letter-spacing: -0.02em;
25
+ }
22
26
 
23
- h5 {
24
- font-size: var(--stldocs-font-size-h5);
25
- }
27
+ :where(h5) {
28
+ font-size: var(--stl-typography-text-h5);
29
+ letter-spacing: -0.02em;
26
30
  }
31
+ }
27
32
 
28
- /* Color mapping for types */
29
- .stldocs-root {
30
- .stldocs-text-keyword {
31
- color: var(--stldocs-color-text-muted);
32
- }
33
+ /* Color mapping for types */
34
+ .stldocs-root {
35
+ .stldocs-text-keyword {
36
+ color: var(--stl-color-foreground-muted);
37
+ }
33
38
 
34
- .stldocs-property-type,
35
- .stldocs-property-declaration,
36
- .stldocs-type:not(.stldocs-property-typename .stldocs-type) {
37
- font-family: var(--stldocs-font-mono);
39
+ .stldocs-property-type,
40
+ .stldocs-property-declaration,
41
+ .stldocs-type:not(.stldocs-property-typename .stldocs-type) {
42
+ font-family: var(--stl-typography-font-mono);
38
43
 
39
- .stldocs-type-keyword {
40
- color: var(--stldocs-syntax-color-orange);
41
- }
44
+ .stldocs-type-keyword {
45
+ color: var(--stldocs-syntax-color-orange);
46
+ }
42
47
 
43
- .stldocs-type-string {
44
- color: var(--stldocs-syntax-color-green);
45
- }
48
+ .stldocs-type-string {
49
+ color: var(--stldocs-syntax-color-green);
50
+ }
46
51
 
47
- .stldocs-type-brace,
48
- .stldocs-type-bracket,
49
- .stldocs-type-plain,
50
- .stldocs-text-operator,
51
- .stldocs-text-punctuation,
52
- .stldocs-truncation,
53
- .stldocs-type-array {
54
- color: var(--stldocs-color-text-tertiary);
55
- }
52
+ .stldocs-type-brace,
53
+ .stldocs-type-bracket,
54
+ .stldocs-type-plain,
55
+ .stldocs-text-operator,
56
+ .stldocs-text-punctuation,
57
+ .stldocs-truncation,
58
+ .stldocs-type-array {
59
+ color: var(--stl-color-foreground-reduced);
60
+ }
56
61
 
57
- .stldocs-type-plain {
58
- font-family: var(--stldocs-font);
59
- }
62
+ .stldocs-type-plain {
63
+ font-family: var(--stl-typography-font);
64
+ }
60
65
 
61
- .stldocs-type-reference {
62
- color: var(--stldocs-syntax-color-blue);
63
- font-weight: 600;
66
+ .stldocs-type-reference {
67
+ color: var(--stldocs-syntax-color-blue);
68
+ font-weight: 600;
69
+ a:hover {
70
+ text-decoration: underline;
64
71
  }
72
+ }
65
73
 
66
- .stldocs-literal-string {
67
- color: var(--stldocs-syntax-color-green);
68
- }
74
+ .stldocs-literal-string {
75
+ color: var(--stldocs-syntax-color-green);
76
+ }
69
77
 
70
- .stldocs-literal-numeric {
71
- color: var(--stldocs-syntax-color-orange);
72
- }
78
+ .stldocs-literal-numeric {
79
+ color: var(--stldocs-syntax-color-orange);
80
+ }
73
81
 
74
- .stldocs-text-identifier {
75
- font-family: var(--stldocs-font-mono);
76
- color: var(--stldocs-color-text);
77
- }
82
+ .stldocs-text-identifier {
83
+ font-family: var(--stl-typography-font-mono);
84
+ color: var(--stl-color-foreground);
85
+ }
78
86
 
79
- .stldocs-type-propertyname .stldocs-text-identifier {
80
- font-family: var(--stldocs-font);
81
- font-weight: 600;
82
- }
87
+ .stldocs-type-propertyname .stldocs-text-identifier {
88
+ font-family: var(--stl-typography-font);
89
+ font-weight: 600;
83
90
  }
91
+ }
84
92
 
85
- [data-stldocs-language='http'] {
86
- .stldocs-property-type,
87
- .stldocs-property-declaration {
88
- .stldocs-truncation,
89
- .stldocs-type-array,
90
- .stldocs-text-punctuation {
91
- font-family: var(--stldocs-font);
92
- }
93
+ [data-stldocs-language='http'],
94
+ [data-stldocs-language='cli'] {
95
+ .stldocs-property-type,
96
+ .stldocs-property-declaration {
97
+ .stldocs-truncation,
98
+ .stldocs-type-array,
99
+ .stldocs-text-punctuation {
100
+ font-family: var(--stl-typography-font);
93
101
  }
94
102
  }
95
103
  }
104
+ }
96
105
 
97
- /* HTTP Method Color Settings */
98
- .stldocs-root .stldocs-method-route,
99
- .stldocs-root .stldocs-sidebar-method {
100
- [data-method='get'] {
101
- background: var(--stldocs-color-http-get-bg);
102
- color: var(--stldocs-color-http-get);
103
- border-color: var(--stldocs-color-http-get);
104
- }
106
+ /* HTTP Method Color Settings */
107
+ .stldocs-root .stldocs-method-route,
108
+ .stldocs-root .stldocs-sidebar-method {
109
+ [data-method='get'] {
110
+ background: var(--stldocs-color-http-get-bg);
111
+ color: var(--stldocs-color-http-get);
112
+ border-color: var(--stldocs-color-http-get);
113
+ }
105
114
 
106
- [data-method='post'] {
107
- background: var(--stldocs-color-http-post-bg);
108
- color: var(--stldocs-color-http-post);
109
- border-color: var(--stldocs-color-http-post);
110
- }
115
+ [data-method='post'] {
116
+ background: var(--stldocs-color-http-post-bg);
117
+ color: var(--stldocs-color-http-post);
118
+ border-color: var(--stldocs-color-http-post);
119
+ }
120
+
121
+ [data-method='patch'],
122
+ [data-method='put'] {
123
+ background: var(--stldocs-color-http-put-bg);
124
+ color: var(--stldocs-color-http-put);
125
+ border-color: var(--stldocs-color-http-put);
126
+ }
127
+
128
+ [data-method='delete'] {
129
+ background: var(--stldocs-color-http-delete-bg);
130
+ color: var(--stldocs-color-http-delete);
131
+ border-color: var(--stldocs-color-http-delete);
132
+ }
133
+ }
111
134
 
112
- [data-method='patch'],
113
- [data-method='put'] {
114
- background: var(--stldocs-color-http-put-bg);
115
- color: var(--stldocs-color-http-put);
116
- border-color: var(--stldocs-color-http-put);
135
+ /* Generic expand/collapse button */
136
+ .stldocs-root .stldocs-expander {
137
+ &[data-stldocs-expander-muted='true'] {
138
+ .stldocs-expander-summary-icon {
139
+ visibility: hidden;
117
140
  }
118
141
 
119
- [data-method='delete'] {
120
- background: var(--stldocs-color-http-delete-bg);
121
- color: var(--stldocs-color-http-delete);
122
- border-color: var(--stldocs-color-http-delete);
142
+ &:hover .stldocs-expander-summary-icon {
143
+ visibility: visible;
123
144
  }
124
145
  }
125
146
 
126
- /* Generic expand/collapse button */
127
- .stldocs-root .stldocs-expander {
128
- &[data-stldocs-expander-muted='true'] {
129
- .stldocs-icon {
130
- visibility: hidden;
147
+ .stldocs-expander-summary {
148
+ cursor: pointer;
149
+ display: flex;
150
+
151
+ & > .stldocs-expander-summary-icon {
152
+ margin-right: 8px;
153
+ transform: translateX(-0.5px) translateY(-0.5px);
154
+
155
+ & > .stldocs-icon {
156
+ vertical-align: middle;
157
+ color: var(--stl-color-foreground-muted);
158
+ background-color: var(--stl-color-background);
131
159
  }
132
160
 
133
- &:hover {
134
- .stldocs-icon {
135
- visibility: visible;
136
- }
161
+ & > :last-child {
162
+ display: none;
137
163
  }
138
164
  }
165
+ }
139
166
 
140
- .stldocs-expander-summary {
141
- cursor: pointer;
142
- display: flex;
143
- /* padding: 0.4rem 0; */
167
+ &[open],
168
+ &[data-open='true'] {
169
+ & > .stldocs-expander-summary {
170
+ .stldocs-type-preview[data-stldocs-type-preview='properties']
171
+ :is(.stldocs-type-preview-content, .stldocs-type-brace) {
172
+ display: none;
173
+ }
144
174
 
145
175
  & > .stldocs-expander-summary-icon {
146
- margin-right: 8px;
147
- transform: translateX(-0.5px) translateY(-0.5px);
148
-
149
- & > .stldocs-icon {
150
- vertical-align: middle;
151
- color: var(--stldocs-color-text-tertiary);
152
- background-color: var(--stldocs-color-bg);
176
+ & > :first-child {
177
+ display: none;
153
178
  }
154
179
 
155
180
  & > :last-child {
156
- display: none;
181
+ display: inline;
157
182
  }
158
183
  }
159
184
  }
160
185
 
161
- &[open],
162
- &[data-open='true'] {
163
- & > .stldocs-expander-summary {
164
- .stldocs-type-preview-content {
165
- display: none;
166
- }
167
-
168
- & > .stldocs-expander-summary-icon {
169
- & > :first-child {
170
- display: none;
171
- }
186
+ & > .stldocs-expander-content {
187
+ line-height: 150%;
172
188
 
173
- & > :last-child {
174
- display: inline;
175
- }
176
- }
177
- }
178
-
179
- & > .stldocs-expander-content {
180
- margin-left: var(--stldocs-expander-margin-shift);
181
- line-height: 150%;
182
-
183
- & > .stldocs-property-children {
184
- border-left: 1px solid var(--stldocs-color-hairline-light);
185
- padding-left: 16px;
189
+ & > .stldocs-property-children {
190
+ border-left: 1px solid var(--stl-color-border);
191
+ padding-left: 16px;
186
192
 
187
- .stldocs-expander {
188
- margin-left: calc(-1 * var(--stldocs-expander-margin-shift));
189
- padding-right: var(--stldocs-expander-right-margin);
190
- }
193
+ .stldocs-expander {
194
+ margin-left: calc(-1 * var(--stldocs-expander-margin-shift));
195
+ padding-right: var(--stldocs-expander-right-margin);
191
196
  }
192
197
  }
193
198
  }
194
199
  }
195
200
 
196
- /* Markdown content */
197
- .stldocs-root .stldocs-content {
198
- a {
199
- color: var(--stldocs-color-text-accent);
200
- }
201
+ /* makes a big perf difference in browser calculating layout, even though the UA should do this? */
202
+ &:not([open], [data-open='true']) .stldocs-expander-content {
203
+ display: none;
204
+ }
205
+ }
201
206
 
202
- code {
203
- font-family: var(--stldocs-font-mono);
204
- border-radius: 4px;
205
- padding: 0 4px;
206
- background-color: var(--stldocs-color-bg-inline-code);
207
- word-break: break-all;
208
- font-size: 0.84rem;
209
- }
207
+ /* Markdown content */
208
+ .stldocs-root .stldocs-content {
209
+ a {
210
+ color: var(--stl-color-link-foreground);
211
+ }
210
212
 
211
- strong {
212
- font-weight: bold;
213
- }
213
+ code:not(pre code) {
214
+ font-family: var(--stl-typography-font-mono);
215
+ border-radius: 4px;
216
+ padding: 0 4px;
217
+ background-color: var(--stldocs-color-bg-inline-code);
218
+ word-break: break-all;
219
+ font-size: 0.84rem;
220
+ }
214
221
 
215
- em {
216
- font-style: italic;
217
- }
222
+ strong {
223
+ font-weight: bold;
224
+ }
218
225
 
219
- p {
220
- display: block;
221
- margin: 0 0 1em;
226
+ em {
227
+ font-style: italic;
228
+ }
222
229
 
223
- &:last-child {
224
- margin: 0;
225
- }
226
- }
230
+ p {
231
+ display: block;
232
+ margin: 0 0 1em;
227
233
 
228
- li {
229
- margin-bottom: 0.25rem;
230
- display: list-item;
234
+ &:last-child {
235
+ margin: 0;
231
236
  }
237
+ }
232
238
 
233
- ol,
234
- ul {
235
- display: block;
236
- list-style-type: initial;
237
- margin-left: 2rem;
238
- margin-bottom: 0.8rem;
239
- }
239
+ li {
240
+ margin-bottom: 0.25rem;
241
+ display: list-item;
242
+ }
240
243
 
241
- ol {
242
- list-style-type: decimal;
243
- }
244
+ ol,
245
+ ul {
246
+ display: block;
247
+ list-style-type: initial;
248
+ margin-left: 2rem;
249
+ margin-bottom: 0.8rem;
244
250
  }
245
251
 
246
- .stldocs-root .stldocs-input {
247
- border: 1px solid var(--stldocs-color-hairline);
248
- border-radius: 0.3rem;
249
- padding: 0.5rem;
250
- display: flex;
251
- gap: 0.5rem;
252
+ ol {
253
+ list-style-type: decimal;
254
+ }
252
255
 
253
- input {
254
- flex-grow: 1;
255
- }
256
+ hr {
257
+ margin-bottom: 16px;
258
+ border: none;
259
+ border-bottom: 1px solid var(--stl-color-border);
260
+ }
261
+ }
256
262
 
257
- .stldocs-icon {
258
- margin-top: auto;
259
- margin-bottom: auto;
260
- }
263
+ .stldocs-root .stldocs-input {
264
+ border: 1px solid var(--stl-color-border);
265
+ background: var(--stl-color-background);
266
+ border-radius: var(--stl-ui-layout-border-radius-sml);
267
+ display: flex;
268
+
269
+ &:focus-within {
270
+ border-color: var(--stl-color-accent);
261
271
  }
262
272
 
263
- .stldocs-root .stldocs-listview {
264
- overflow-y: scroll;
273
+ &.stldocs-input-disabled {
274
+ opacity: 0.5;
275
+ }
265
276
 
266
- .stldocs-listview-item:not(:last-child) {
267
- border-bottom: 1px solid var(--stldocs-color-hairline);
268
- }
277
+ input,
278
+ .stldocs-masked-input-display {
279
+ flex-grow: 1;
280
+ border: none;
281
+ background-color: transparent;
282
+ margin: 0.5rem;
283
+ font-size: 1rem;
284
+ letter-spacing: initial;
285
+ white-space: pre;
286
+ contain: content;
287
+ padding: 0;
269
288
 
270
- [data-stldocs-listview-selected='true'] > :first-child {
271
- background-color: var(--stldocs-color-selected);
272
- border-radius: 0.5rem;
289
+ &:focus {
290
+ outline: none;
273
291
  }
274
292
  }
275
293
 
276
- .stldocs-root {
277
- .stldocs-tooltip-host {
278
- display: inline-block;
294
+ .stldocs-masked-input-wrapper {
295
+ &:focus-within .stldocs-masked-input-display,
296
+ &:not(:focus-within) input {
297
+ opacity: 0;
279
298
  }
299
+ }
280
300
 
281
- .stldocs-tooltip-content {
282
- border: 1px solid var(--stldocs-color-hairline);
283
- background: var(--stldocs-color-bg);
284
- border-radius: 8px;
285
- padding: 0.2rem 0.4rem;
286
-
287
- * {
288
- font-size: 0.8rem !important;
289
- }
301
+ .stldocs-masked-input-obscured {
302
+ -webkit-text-stroke: currentColor 0.2em;
303
+ }
290
304
 
291
- position: absolute;
305
+ .stldocs-icon {
306
+ margin: auto 0.25rem auto 0.75rem;
307
+ }
308
+ }
292
309
 
293
- transition:
294
- opacity 0.3s ease-in-out,
295
- visibility 0.3s step-end 0.3s;
296
- visibility: hidden;
297
- opacity: 0;
310
+ .stldocs-root .stldocs-masked-input-wrapper {
311
+ display: flex;
312
+ flex-grow: 1;
313
+ position: relative;
314
+ font-family: var(--stl-typography-font-mono);
315
+ }
298
316
 
299
- max-width: 400px;
300
- max-height: 300px;
301
- overflow: auto;
317
+ .stldocs-root .stldocs-masked-input-display {
318
+ position: absolute;
319
+ inset: 0;
320
+ display: flex;
321
+ align-items: center;
322
+ pointer-events: none; /* so you can click through to the real input */
323
+ }
302
324
 
303
- .stldocs-property-description {
304
- display: none;
305
- }
306
- }
325
+ .stldocs-root .stldocs-listview {
326
+ overflow-y: scroll;
307
327
 
308
- .stldocs-tooltip:hover .stldocs-tooltip-content {
309
- transition-delay: 0s, 0s;
310
- visibility: visible;
311
- opacity: 1;
312
- }
328
+ .stldocs-listview-item:not(:last-child) {
329
+ border-bottom: 1px solid var(--stl-color-border);
313
330
  }
314
331
 
315
- .stldocs-root {
316
- .stldocs-breadcrumbs {
317
- display: flex;
318
- align-items: center;
319
- gap: 0.5rem;
320
-
321
- svg {
322
- width: 1rem;
323
- min-width: 1rem;
324
- stroke: var(--stldocs-color-text-secondary);
325
- opacity: 0.25;
326
- margin: 0;
327
- }
332
+ [data-stldocs-listview-selected='true'] > :first-child {
333
+ background:
334
+ linear-gradient(var(--stl-color-ui-background-hover), var(--stl-color-ui-background-hover)),
335
+ linear-gradient(var(--stl-color-ui-background), var(--stl-color-ui-background));
336
+ border-radius: 0.5rem;
337
+ }
338
+ }
328
339
 
329
- .stldocs-breadcrumbs-non-link,
330
- .stldocs-breadcrumbs-link {
331
- color: var(--stldocs-color-text-secondary);
332
- font-size: var(--stldocs-font-size-small);
333
- line-height: 150%;
334
- text-decoration: none;
335
- }
340
+ .stldocs-root {
341
+ .stldocs-tooltip-host {
342
+ display: inline-block;
343
+ }
336
344
 
337
- .stldocs-breadcrumbs-link:hover {
338
- text-decoration: underline;
339
- color: var(--stldocs-color-text);
340
- }
345
+ .stldocs-tooltip-content {
346
+ border: 1px solid var(--stl-color-border);
347
+ background: var(--stl-color-background);
348
+ border-radius: 8px;
349
+ padding: 0.2rem 0.4rem;
341
350
 
342
- .stldocs-breadcrumbs-item {
343
- display: flex;
344
- align-items: center;
345
- gap: 0.5rem;
346
- margin: 0;
347
- height: var(--stldocs-button-size);
348
- }
351
+ * {
352
+ font-size: 0.8rem !important;
349
353
  }
350
354
 
351
- /* Dropdown component styles */
352
- .stldocs-dropdown {
353
- position: relative;
354
- font-size: 0.85rem;
355
+ position: absolute;
355
356
 
356
- span {
357
- display: flex;
358
- align-items: center;
359
- justify-content: center;
360
- }
361
- }
357
+ transition:
358
+ opacity 0.3s ease-in-out,
359
+ visibility 0.3s step-end 0.3s;
360
+ visibility: hidden;
361
+ opacity: 0;
362
362
 
363
- .stldocs-dropdown-trigger {
364
- display: flex;
365
- align-items: center;
366
- justify-content: space-between;
367
- gap: 6px;
368
- padding: 0.5rem;
363
+ max-width: 400px;
364
+ max-height: 300px;
365
+ overflow: auto;
369
366
 
370
- .stldocs-icon {
371
- margin: unset;
372
- width: 16px;
373
- }
374
-
375
- &:hover {
376
- border-color: var(--stldocs-color-hairline-shade);
377
- }
367
+ .stldocs-property-description {
368
+ display: none;
378
369
  }
370
+ }
379
371
 
380
- .stldocs-dropdown-trigger-content {
381
- display: flex;
382
- align-items: center;
383
- gap: 8px;
384
- }
372
+ .stldocs-tooltip:hover .stldocs-tooltip-content {
373
+ transition-delay: 0s, 0s;
374
+ visibility: visible;
375
+ opacity: 1;
376
+ }
377
+ }
385
378
 
386
- .stldocs-dropdown-chevron {
387
- margin-right: calc(-1 * var(--sl-button-icon-offset));
388
- padding: 0;
389
- opacity: 0.25;
390
- }
379
+ .stldocs-root {
380
+ .stldocs-breadcrumbs {
381
+ display: flex;
382
+ align-items: center;
383
+ gap: 0.5rem;
391
384
 
392
- .stldocs-dropdown-chevron svg path {
393
- stroke: var(--stldocs-color-text-secondary);
385
+ svg {
386
+ width: 1rem;
387
+ min-width: 1rem;
388
+ stroke: var(--stl-color-foreground-reduced);
389
+ opacity: 0.25;
390
+ margin: 0;
394
391
  }
395
392
 
396
- .stldocs-dropdown-menu {
397
- position: absolute;
398
- right: 0;
399
- bottom: 100%;
400
- z-index: var(--stldocs-z-index-theme-select);
401
- background: var(--stldocs-color-bg);
402
- border: 1px solid var(--stldocs-color-hairline);
403
- border-radius: var(--stldocs-button-border-radius);
404
- margin-bottom: 4px;
405
- padding: 0;
406
- width: 100%;
407
- min-width: 100px;
408
- overflow: hidden;
409
- display: none;
410
- box-shadow: 0px 4px 4px -2px #00000014;
411
-
412
- &.below {
413
- margin-bottom: unset;
414
- bottom: unset;
415
- top: 100%;
416
- margin-top: 4px;
417
- }
393
+ .stldocs-breadcrumbs-non-link,
394
+ .stldocs-breadcrumbs-link {
395
+ color: var(--stl-color-foreground-reduced);
396
+ font-size: var(--stl-typography-scale-sm);
397
+ line-height: 150%;
398
+ text-decoration: none;
418
399
  }
419
400
 
420
- .stldocs-dropdown-menu.open {
421
- display: block;
401
+ .stldocs-breadcrumbs-link:hover {
402
+ text-decoration: underline;
403
+ color: var(--stl-color-foreground);
422
404
  }
423
405
 
424
- .stldocs-dropdown-item {
406
+ .stldocs-breadcrumbs-item {
425
407
  display: flex;
426
408
  align-items: center;
427
- justify-content: space-between;
428
- gap: 8px;
429
- padding: 6px 10px;
430
- cursor: pointer;
431
- height: 32px;
432
-
433
- div {
434
- display: flex;
435
- align-items: center;
436
- gap: 8px;
437
- }
438
-
439
- .lucide-check {
440
- height: var(--stlodcs-font-size-body);
441
- width: var(--stlodcs-font-size-body);
442
- display: none;
443
- }
444
-
445
- .stldocs-icon {
446
- width: 16px;
447
- }
448
-
449
- &.stldocs-dropdown-item-link {
450
- padding: 0;
451
- height: unset;
452
- gap: 0;
453
-
454
- a {
455
- display: flex;
456
- align-items: center;
457
- justify-content: space-between;
458
- gap: 8px;
459
- padding: 6px 10px;
460
- cursor: pointer;
461
- height: 32px;
462
- width: 100%;
463
- text-decoration: none;
464
- color: inherit;
465
- }
466
- }
409
+ gap: 0.5rem;
410
+ margin: 0;
467
411
  }
412
+ }
413
+ }
468
414
 
469
- .stldocs-dropdown-item:hover {
470
- background-color: var(--stldocs-color-bg-inline-code);
471
- }
415
+ .stldocs-root .stldocs-expand-toggle {
416
+ font-size: var(--stl-typography-scale-sm);
417
+ display: flex;
418
+ flex-grow: 1;
419
+ justify-content: flex-end;
420
+ user-select: none;
472
421
 
473
- .stldocs-dropdown-item.selected {
474
- .lucide-check {
475
- display: inline;
476
- }
422
+ &[data-stldocs-property-toggle-expanded='false'] {
423
+ .stldocs-expand-toggle-content:last-child {
424
+ display: none;
477
425
  }
426
+ }
478
427
 
479
- @media (min-width: 50rem) {
480
- .stldocs-dropdown-menu {
481
- margin-bottom: unset;
482
- bottom: unset;
483
- top: 100%;
484
- margin-top: 4px;
485
- }
428
+ &[data-stldocs-property-toggle-expanded='true'] {
429
+ .stldocs-expand-toggle-content:first-child {
430
+ display: none;
486
431
  }
487
432
  }
488
433
 
489
- /* Intentionally not using the stldocs-root selector here, as buttons are sometimes outside the stldocs-root. */
490
- .stldocs-button {
491
- border-radius: var(--stldocs-button-border-radius);
492
- display: flex;
493
- padding: var(--stldocs-button-padding-y) var(--stldocs-button-padding-x);
494
- justify-content: center;
495
- align-items: center;
496
- height: var(--stldocs-button-size);
434
+ .stldocs-expand-toggle-content {
497
435
  cursor: pointer;
498
- text-decoration: none;
499
- text-wrap: nowrap;
500
- font-weight: 500;
501
- line-height: 150%;
502
- font-size: var(--sl-text-sm);
503
-
504
- span {
505
- padding-left: var(--sl-button-icon-offset);
506
- padding-right: var(--sl-button-icon-offset);
507
- font-size: var(--sl-text-sm);
436
+
437
+ .stldocs-icon {
438
+ vertical-align: middle;
508
439
  }
440
+ }
441
+ }
509
442
 
510
- &.stldocs-button-icon {
511
- > svg {
512
- margin: 0;
443
+ /* Deeplink button */
444
+
445
+ /* Link is not inside <summary> because interactive content in <summary> considered harmful
446
+ * Subgrid must be applied from the top-level .stldocs-property all the way down to where the
447
+ * inline summary content is rendered, so that the link button can be positioned at the “end” of
448
+ * the summary line without actually shrinking the <details> or summary element.
449
+ */
450
+ .stldocs-root .stldocs-property:has(.stldocs-deep-link-button) {
451
+ display: grid;
452
+ /* expander | summary content | deeplink */
453
+ grid-template-columns: auto minmax(0, max-content) 1fr;
454
+ grid-template-rows: auto auto;
455
+ gap: 0;
456
+ width: 100%;
457
+
458
+ /* expander child */
459
+ & > .stldocs-expander {
460
+ grid-column: 1 / -1;
461
+ grid-row: 1 / -1;
462
+
463
+ display: grid;
464
+ grid-template-columns: subgrid;
465
+ grid-template-rows: subgrid;
466
+
467
+ & > .stldocs-expander-summary {
468
+ grid-column: 1 / -1;
469
+ grid-row: 1;
470
+ display: grid;
471
+ grid-template-columns: subgrid;
472
+ grid-template-rows: subgrid;
473
+ & > .stldocs-expander-summary-icon {
474
+ grid-column: 1;
475
+ }
476
+ & > .stldocs-expander-summary-content {
477
+ grid-column: 2;
513
478
  }
514
479
  }
515
- }
516
480
 
517
- .stldocs-button-icon {
518
- > svg {
519
- margin: 0;
481
+ &::details-content,
482
+ & > .stldocs-expander-content {
483
+ grid-row: 2;
484
+ grid-column: 2 / -1;
520
485
  }
521
486
  }
522
487
 
523
- .stldocs-button-primary {
524
- background-color: var(--stldocs-color-text);
525
- color: var(--stldocs-color-text-invert);
488
+ /* non-expanding child */
489
+ & > .stldocs-property-info {
490
+ grid-column: 2;
491
+ grid-row: 1;
526
492
  }
527
493
 
528
- .stldocs-button-secondary {
529
- background-color: var(--stldocs-color-bg-ui);
530
- border: 1px solid var(--stldocs-color-hairline);
531
- border-radius: var(--stldocs-button-border-radius);
532
- font-weight: 400;
533
-
534
- &:hover {
535
- border-color: var(--stldocs-color-hairline-shade);
494
+ & > .stldocs-deep-link-button {
495
+ grid-column: span 1 / -1;
496
+ grid-row: 1;
497
+ align-self: center;
498
+ justify-self: start;
499
+ margin-left: 0.25em;
500
+ display: none;
501
+ margin-top: -1rem;
502
+ margin-bottom: -1rem;
503
+ animation: stldocs-deep-link-delay-enter 0.2s ease-out;
504
+ animation-delay: 0.3s;
505
+ animation-fill-mode: both;
506
+
507
+ svg {
508
+ width: 1em;
509
+ height: 1em;
536
510
  }
537
511
  }
538
512
 
539
- .stldocs-button-tertiary {
540
- border: none;
541
- color: var(--stldocs-color-text-secondary);
542
- background-color: transparent;
543
- }
544
-
545
- .stldocs-root .stldocs-expand-toggle {
546
- font-size: var(--stldocs-font-size-body);
513
+ /* show link button when expander summary is hovered */
514
+ & > .stldocs-expander:has(> .stldocs-expander-summary:is(:hover, :focus-within)) + .stldocs-deep-link-button,
515
+ /* show link button when non-expander rows are hovered */
516
+ &:not(:has(> .stldocs-expander)):hover > .stldocs-deep-link-button,
517
+ /* keep it visible when it itself is hovered or focused */
518
+ & > .stldocs-deep-link-button:is(:hover, :focus) {
547
519
  display: flex;
548
- flex-grow: 1;
549
- justify-content: flex-end;
550
- user-select: none;
551
-
552
- &[data-stldocs-property-toggle-expanded='false'] {
553
- .stldocs-expand-toggle-content:last-child {
554
- display: none;
555
- }
556
- }
557
-
558
- &[data-stldocs-property-toggle-expanded='true'] {
559
- .stldocs-expand-toggle-content:first-child {
560
- display: none;
561
- }
562
- }
563
-
564
- .stldocs-expand-toggle-content {
565
- cursor: pointer;
520
+ }
521
+ }
566
522
 
567
- .stldocs-icon {
568
- vertical-align: middle;
569
- }
570
- }
523
+ @keyframes stldocs-deep-link-delay-enter {
524
+ from {
525
+ display: none;
526
+ opacity: 0;
527
+ scale: 0.85;
528
+ }
529
+ to {
530
+ opacity: 1;
531
+ scale: 0.99;
571
532
  }
572
533
  }
534
+