@astrojs/starlight 0.33.2 → 0.34.0

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 (85) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/components/AnchorHeading.astro +53 -0
  3. package/components/Banner.astro +14 -12
  4. package/components/ContentNotice.astro +13 -11
  5. package/components/ContentPanel.astro +17 -15
  6. package/components/EditLink.astro +10 -8
  7. package/components/Footer.astro +30 -28
  8. package/components/Header.astro +54 -51
  9. package/components/Hero.astro +60 -58
  10. package/components/MobileMenuFooter.astro +19 -16
  11. package/components/MobileMenuToggle.astro +41 -37
  12. package/components/MobileTableOfContents.astro +71 -69
  13. package/components/Page.astro +8 -8
  14. package/components/PageFrame.astro +61 -57
  15. package/components/PageSidebar.astro +33 -31
  16. package/components/PageTitle.astro +8 -6
  17. package/components/Pagination.astro +38 -36
  18. package/components/Search.astro +277 -272
  19. package/components/Select.astro +50 -46
  20. package/components/SidebarPersister.astro +4 -2
  21. package/components/SidebarSublist.astro +78 -76
  22. package/components/SiteTitle.astro +17 -15
  23. package/components/SkipLink.astro +17 -15
  24. package/components/SocialIcons.astro +9 -7
  25. package/components/TableOfContents/TableOfContentsList.astro +49 -47
  26. package/components/TwoColumnContent.astro +32 -30
  27. package/index.ts +11 -4
  28. package/integrations/expressive-code/index.ts +2 -0
  29. package/integrations/heading-links.ts +104 -0
  30. package/integrations/virtual-user-config.ts +9 -0
  31. package/package.json +8 -3
  32. package/schemas/head.ts +2 -2
  33. package/schemas/i18n.ts +2 -0
  34. package/style/anchor-links.css +125 -0
  35. package/style/asides.css +46 -44
  36. package/style/layers.css +1 -0
  37. package/style/markdown.css +195 -189
  38. package/style/print.css +30 -35
  39. package/style/props.css +180 -178
  40. package/style/reset.css +42 -40
  41. package/style/util.css +51 -49
  42. package/translations/ar.json +2 -1
  43. package/translations/ca.json +2 -1
  44. package/translations/cs.json +2 -1
  45. package/translations/da.json +2 -1
  46. package/translations/de.json +2 -1
  47. package/translations/en.json +2 -1
  48. package/translations/es.json +2 -1
  49. package/translations/fa.json +2 -1
  50. package/translations/fr.json +2 -1
  51. package/translations/gl.json +2 -1
  52. package/translations/he.json +2 -1
  53. package/translations/hi.json +2 -1
  54. package/translations/id.json +2 -1
  55. package/translations/it.json +2 -1
  56. package/translations/ja.json +2 -1
  57. package/translations/ko.json +2 -1
  58. package/translations/lv.json +2 -1
  59. package/translations/nb.json +2 -1
  60. package/translations/nl.json +2 -1
  61. package/translations/pl.json +2 -1
  62. package/translations/pt.json +2 -1
  63. package/translations/ro.json +2 -1
  64. package/translations/ru.json +2 -1
  65. package/translations/sk.json +2 -1
  66. package/translations/sv.json +2 -1
  67. package/translations/tr.json +2 -1
  68. package/translations/uk.json +2 -1
  69. package/translations/vi.json +2 -1
  70. package/translations/zh-CN.json +2 -1
  71. package/translations/zh-TW.json +2 -1
  72. package/user-components/Badge.astro +118 -116
  73. package/user-components/Card.astro +44 -42
  74. package/user-components/CardGrid.astro +20 -18
  75. package/user-components/FileTree.astro +105 -103
  76. package/user-components/Icon.astro +7 -5
  77. package/user-components/LinkButton.astro +43 -41
  78. package/user-components/LinkCard.astro +45 -43
  79. package/user-components/Steps.astro +65 -61
  80. package/user-components/Tabs.astro +35 -33
  81. package/utils/head.ts +12 -4
  82. package/utils/starlight-page.ts +16 -19
  83. package/utils/user-config.ts +14 -0
  84. package/virtual-internal.d.ts +2 -0
  85. package/style/shiki.css +0 -13
@@ -1,5 +1,4 @@
1
1
  ---
2
- import '@pagefind/default-ui/css/ui.css';
3
2
  import Icon from '../user-components/Icon.astro';
4
3
  import project from 'virtual:starlight/project-context';
5
4
 
@@ -163,321 +162,327 @@ if (project.trailingSlash === 'never') dataAttributes['data-strip-trailing-slash
163
162
  </script>
164
163
 
165
164
  <style>
166
- site-search {
167
- display: contents;
168
- }
169
- button[data-open-modal] {
170
- display: flex;
171
- align-items: center;
172
- gap: 0.5rem;
173
- border: 0;
174
- background-color: transparent;
175
- color: var(--sl-color-gray-1);
176
- cursor: pointer;
177
- height: 2.5rem;
178
- font-size: var(--sl-text-xl);
179
- }
180
-
181
- @media (min-width: 50rem) {
182
- button[data-open-modal] {
183
- border: 1px solid var(--sl-color-gray-5);
184
- border-radius: 0.5rem;
185
- padding-inline-start: 0.75rem;
186
- padding-inline-end: 0.5rem;
187
- background-color: var(--sl-color-black);
188
- color: var(--sl-color-gray-2);
189
- font-size: var(--sl-text-sm);
190
- width: 100%;
191
- max-width: 22rem;
192
- }
193
- button[data-open-modal]:hover {
194
- border-color: var(--sl-color-gray-2);
195
- color: var(--sl-color-white);
165
+ @layer starlight.core {
166
+ site-search {
167
+ display: contents;
196
168
  }
197
-
198
- button[data-open-modal] > :last-child {
199
- margin-inline-start: auto;
169
+ button[data-open-modal] {
170
+ display: flex;
171
+ align-items: center;
172
+ gap: 0.5rem;
173
+ border: 0;
174
+ background-color: transparent;
175
+ color: var(--sl-color-gray-1);
176
+ cursor: pointer;
177
+ height: 2.5rem;
178
+ font-size: var(--sl-text-xl);
200
179
  }
201
- }
202
180
 
203
- button > kbd {
204
- border-radius: 0.25rem;
205
- font-size: var(--sl-text-2xs);
206
- gap: 0.25em;
207
- padding-inline: 0.375rem;
208
- background-color: var(--sl-color-gray-6);
209
- }
181
+ @media (min-width: 50rem) {
182
+ button[data-open-modal] {
183
+ border: 1px solid var(--sl-color-gray-5);
184
+ border-radius: 0.5rem;
185
+ padding-inline-start: 0.75rem;
186
+ padding-inline-end: 0.5rem;
187
+ background-color: var(--sl-color-black);
188
+ color: var(--sl-color-gray-2);
189
+ font-size: var(--sl-text-sm);
190
+ width: 100%;
191
+ max-width: 22rem;
192
+ }
193
+ button[data-open-modal]:hover {
194
+ border-color: var(--sl-color-gray-2);
195
+ color: var(--sl-color-white);
196
+ }
210
197
 
211
- kbd {
212
- font-family: var(--__sl-font);
213
- }
198
+ button[data-open-modal] > :last-child {
199
+ margin-inline-start: auto;
200
+ }
201
+ }
214
202
 
215
- dialog {
216
- margin: 0;
217
- background-color: var(--sl-color-gray-6);
218
- border: 1px solid var(--sl-color-gray-5);
219
- width: 100%;
220
- max-width: 100%;
221
- height: 100%;
222
- max-height: 100%;
223
- box-shadow: var(--sl-shadow-lg);
224
- }
225
- dialog[open] {
226
- display: flex;
227
- }
203
+ button > kbd {
204
+ border-radius: 0.25rem;
205
+ font-size: var(--sl-text-2xs);
206
+ gap: 0.25em;
207
+ padding-inline: 0.375rem;
208
+ background-color: var(--sl-color-gray-6);
209
+ }
228
210
 
229
- dialog::backdrop {
230
- background-color: var(--sl-color-backdrop-overlay);
231
- -webkit-backdrop-filter: blur(0.25rem);
232
- backdrop-filter: blur(0.25rem);
233
- }
211
+ kbd {
212
+ font-family: var(--__sl-font);
213
+ }
234
214
 
235
- .dialog-frame {
236
- position: relative;
237
- overflow: auto;
238
- flex-direction: column;
239
- flex-grow: 1;
240
- gap: 1rem;
241
- padding: 1rem;
242
- }
215
+ dialog {
216
+ margin: 0;
217
+ background-color: var(--sl-color-gray-6);
218
+ border: 1px solid var(--sl-color-gray-5);
219
+ width: 100%;
220
+ max-width: 100%;
221
+ height: 100%;
222
+ max-height: 100%;
223
+ box-shadow: var(--sl-shadow-lg);
224
+ }
225
+ dialog[open] {
226
+ display: flex;
227
+ }
243
228
 
244
- button[data-close-modal] {
245
- position: absolute;
246
- z-index: 1;
247
- align-items: center;
248
- align-self: flex-end;
249
- height: calc(64px * var(--pagefind-ui-scale));
250
- padding: 0.25rem;
251
- border: 0;
252
- background: transparent;
253
- cursor: pointer;
254
- color: var(--sl-color-text-accent);
255
- }
229
+ dialog::backdrop {
230
+ background-color: var(--sl-color-backdrop-overlay);
231
+ -webkit-backdrop-filter: blur(0.25rem);
232
+ backdrop-filter: blur(0.25rem);
233
+ }
256
234
 
257
- #starlight__search {
258
- --pagefind-ui-primary: var(--sl-color-text);
259
- --pagefind-ui-text: var(--sl-color-gray-2);
260
- --pagefind-ui-font: var(--__sl-font);
261
- --pagefind-ui-background: var(--sl-color-black);
262
- --pagefind-ui-border: var(--sl-color-gray-5);
263
- --pagefind-ui-border-width: 1px;
264
- --pagefind-ui-tag: var(--sl-color-gray-5);
265
- --sl-search-cancel-space: 5rem;
266
- }
235
+ .dialog-frame {
236
+ position: relative;
237
+ overflow: auto;
238
+ flex-direction: column;
239
+ flex-grow: 1;
240
+ gap: 1rem;
241
+ padding: 1rem;
242
+ }
267
243
 
268
- :root[data-theme='light'] #starlight__search {
269
- --pagefind-ui-tag: var(--sl-color-gray-6);
270
- }
244
+ button[data-close-modal] {
245
+ position: absolute;
246
+ z-index: 1;
247
+ align-items: center;
248
+ align-self: flex-end;
249
+ height: calc(64px * var(--pagefind-ui-scale));
250
+ padding: 0.25rem;
251
+ border: 0;
252
+ background: transparent;
253
+ cursor: pointer;
254
+ color: var(--sl-color-text-accent);
255
+ }
271
256
 
272
- @media (min-width: 50rem) {
273
257
  #starlight__search {
274
- --sl-search-cancel-space: 0px;
258
+ --pagefind-ui-primary: var(--sl-color-text);
259
+ --pagefind-ui-text: var(--sl-color-gray-2);
260
+ --pagefind-ui-font: var(--__sl-font);
261
+ --pagefind-ui-background: var(--sl-color-black);
262
+ --pagefind-ui-border: var(--sl-color-gray-5);
263
+ --pagefind-ui-border-width: 1px;
264
+ --pagefind-ui-tag: var(--sl-color-gray-5);
265
+ --sl-search-cancel-space: 5rem;
275
266
  }
276
267
 
277
- dialog {
278
- margin: 4rem auto auto;
279
- border-radius: 0.5rem;
280
- width: 90%;
281
- max-width: 40rem;
282
- height: max-content;
283
- min-height: 15rem;
284
- max-height: calc(100% - 8rem);
268
+ :root[data-theme='light'] #starlight__search {
269
+ --pagefind-ui-tag: var(--sl-color-gray-6);
285
270
  }
286
271
 
287
- .dialog-frame {
288
- padding: 1.5rem;
272
+ @media (min-width: 50rem) {
273
+ #starlight__search {
274
+ --sl-search-cancel-space: 0px;
275
+ }
276
+
277
+ dialog {
278
+ margin: 4rem auto auto;
279
+ border-radius: 0.5rem;
280
+ width: 90%;
281
+ max-width: 40rem;
282
+ height: max-content;
283
+ min-height: 15rem;
284
+ max-height: calc(100% - 8rem);
285
+ }
286
+
287
+ .dialog-frame {
288
+ padding: 1.5rem;
289
+ }
289
290
  }
290
291
  }
291
292
  </style>
292
293
 
293
294
  <style is:global>
294
- [data-search-modal-open] {
295
- overflow: hidden;
296
- }
295
+ @import url('@pagefind/default-ui/css/ui.css') layer(starlight.core);
297
296
 
298
- #starlight__search {
299
- --sl-search-result-spacing: calc(1.25rem * var(--pagefind-ui-scale));
300
- --sl-search-result-pad-inline-start: calc(3.75rem * var(--pagefind-ui-scale));
301
- --sl-search-result-pad-inline-end: calc(1.25rem * var(--pagefind-ui-scale));
302
- --sl-search-result-pad-block: calc(0.9375rem * var(--pagefind-ui-scale));
303
- --sl-search-result-nested-pad-block: calc(0.625rem * var(--pagefind-ui-scale));
304
- --sl-search-corners: calc(0.3125rem * var(--pagefind-ui-scale));
305
- --sl-search-page-icon-size: calc(1.875rem * var(--pagefind-ui-scale));
306
- --sl-search-page-icon-inline-start: calc(
307
- (var(--sl-search-result-pad-inline-start) - var(--sl-search-page-icon-size)) / 2
308
- );
309
- --sl-search-tree-diagram-size: calc(2.5rem * var(--pagefind-ui-scale));
310
- --sl-search-tree-diagram-inline-start: calc(
311
- (var(--sl-search-result-pad-inline-start) - var(--sl-search-tree-diagram-size)) / 2
312
- );
313
- }
297
+ @layer starlight.core {
298
+ [data-search-modal-open] {
299
+ overflow: hidden;
300
+ }
314
301
 
315
- #starlight__search .pagefind-ui__form::before {
316
- --pagefind-ui-text: var(--sl-color-gray-1);
317
- opacity: 1;
318
- }
302
+ #starlight__search {
303
+ --sl-search-result-spacing: calc(1.25rem * var(--pagefind-ui-scale));
304
+ --sl-search-result-pad-inline-start: calc(3.75rem * var(--pagefind-ui-scale));
305
+ --sl-search-result-pad-inline-end: calc(1.25rem * var(--pagefind-ui-scale));
306
+ --sl-search-result-pad-block: calc(0.9375rem * var(--pagefind-ui-scale));
307
+ --sl-search-result-nested-pad-block: calc(0.625rem * var(--pagefind-ui-scale));
308
+ --sl-search-corners: calc(0.3125rem * var(--pagefind-ui-scale));
309
+ --sl-search-page-icon-size: calc(1.875rem * var(--pagefind-ui-scale));
310
+ --sl-search-page-icon-inline-start: calc(
311
+ (var(--sl-search-result-pad-inline-start) - var(--sl-search-page-icon-size)) / 2
312
+ );
313
+ --sl-search-tree-diagram-size: calc(2.5rem * var(--pagefind-ui-scale));
314
+ --sl-search-tree-diagram-inline-start: calc(
315
+ (var(--sl-search-result-pad-inline-start) - var(--sl-search-tree-diagram-size)) / 2
316
+ );
317
+ }
319
318
 
320
- #starlight__search .pagefind-ui__search-input {
321
- color: var(--sl-color-white);
322
- font-weight: 400;
323
- width: calc(100% - var(--sl-search-cancel-space));
324
- }
319
+ #starlight__search .pagefind-ui__form::before {
320
+ --pagefind-ui-text: var(--sl-color-gray-1);
321
+ opacity: 1;
322
+ }
325
323
 
326
- #starlight__search input:focus {
327
- --pagefind-ui-border: var(--sl-color-accent);
328
- }
324
+ #starlight__search .pagefind-ui__search-input {
325
+ color: var(--sl-color-white);
326
+ font-weight: 400;
327
+ width: calc(100% - var(--sl-search-cancel-space));
328
+ }
329
329
 
330
- #starlight__search .pagefind-ui__search-clear {
331
- inset-inline-end: var(--sl-search-cancel-space);
332
- width: calc(60px * var(--pagefind-ui-scale));
333
- padding: 0;
334
- background-color: transparent;
335
- overflow: hidden;
336
- }
337
- #starlight__search .pagefind-ui__search-clear:focus {
338
- outline: 1px solid var(--sl-color-accent);
339
- }
340
- #starlight__search .pagefind-ui__search-clear::before {
341
- content: '';
342
- -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E")
343
- center / 50% no-repeat;
344
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E")
345
- center / 50% no-repeat;
346
- background-color: var(--sl-color-text-accent);
347
- display: block;
348
- width: 100%;
349
- height: 100%;
350
- }
330
+ #starlight__search input:focus {
331
+ --pagefind-ui-border: var(--sl-color-accent);
332
+ }
351
333
 
352
- #starlight__search .pagefind-ui__results > * + * {
353
- margin-top: var(--sl-search-result-spacing);
354
- }
355
- #starlight__search .pagefind-ui__result {
356
- border: 0;
357
- padding: 0;
358
- }
334
+ #starlight__search .pagefind-ui__search-clear {
335
+ inset-inline-end: var(--sl-search-cancel-space);
336
+ width: calc(60px * var(--pagefind-ui-scale));
337
+ padding: 0;
338
+ background-color: transparent;
339
+ overflow: hidden;
340
+ }
341
+ #starlight__search .pagefind-ui__search-clear:focus {
342
+ outline: 1px solid var(--sl-color-accent);
343
+ }
344
+ #starlight__search .pagefind-ui__search-clear::before {
345
+ content: '';
346
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E")
347
+ center / 50% no-repeat;
348
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E")
349
+ center / 50% no-repeat;
350
+ background-color: var(--sl-color-text-accent);
351
+ display: block;
352
+ width: 100%;
353
+ height: 100%;
354
+ }
359
355
 
360
- #starlight__search .pagefind-ui__result-nested {
361
- position: relative;
362
- padding: var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end);
363
- padding-inline-start: var(--sl-search-result-pad-inline-start);
364
- }
356
+ #starlight__search .pagefind-ui__results > * + * {
357
+ margin-top: var(--sl-search-result-spacing);
358
+ }
359
+ #starlight__search .pagefind-ui__result {
360
+ border: 0;
361
+ padding: 0;
362
+ }
365
363
 
366
- #starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)),
367
- #starlight__search .pagefind-ui__result-nested {
368
- position: relative;
369
- background-color: var(--sl-color-black);
370
- }
364
+ #starlight__search .pagefind-ui__result-nested {
365
+ position: relative;
366
+ padding: var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end);
367
+ padding-inline-start: var(--sl-search-result-pad-inline-start);
368
+ }
371
369
 
372
- #starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):hover,
373
- #starlight__search
374
- .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,
375
- #starlight__search .pagefind-ui__result-nested:hover,
376
- #starlight__search .pagefind-ui__result-nested:focus-within {
377
- outline: 1px solid var(--sl-color-accent-high);
378
- }
370
+ #starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)),
371
+ #starlight__search .pagefind-ui__result-nested {
372
+ position: relative;
373
+ background-color: var(--sl-color-black);
374
+ }
379
375
 
380
- #starlight__search
381
- .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,
382
- #starlight__search .pagefind-ui__result-nested:focus-within {
383
- background-color: var(--sl-color-accent-low);
384
- }
376
+ #starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):hover,
377
+ #starlight__search
378
+ .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,
379
+ #starlight__search .pagefind-ui__result-nested:hover,
380
+ #starlight__search .pagefind-ui__result-nested:focus-within {
381
+ outline: 1px solid var(--sl-color-accent-high);
382
+ }
385
383
 
386
- #starlight__search .pagefind-ui__result-thumb,
387
- #starlight__search .pagefind-ui__result-inner {
388
- margin-top: 0;
389
- }
384
+ #starlight__search
385
+ .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,
386
+ #starlight__search .pagefind-ui__result-nested:focus-within {
387
+ background-color: var(--sl-color-accent-low);
388
+ }
390
389
 
391
- #starlight__search .pagefind-ui__result-inner > :first-child {
392
- border-radius: var(--sl-search-corners) var(--sl-search-corners) 0 0;
393
- }
394
- #starlight__search .pagefind-ui__result-inner > :last-child {
395
- border-radius: 0 0 var(--sl-search-corners) var(--sl-search-corners);
396
- }
390
+ #starlight__search .pagefind-ui__result-thumb,
391
+ #starlight__search .pagefind-ui__result-inner {
392
+ margin-top: 0;
393
+ }
397
394
 
398
- #starlight__search .pagefind-ui__result-inner > .pagefind-ui__result-title {
399
- padding: var(--sl-search-result-pad-block) var(--sl-search-result-pad-inline-end);
400
- padding-inline-start: var(--sl-search-result-pad-inline-start);
401
- }
402
- #starlight__search .pagefind-ui__result-inner > .pagefind-ui__result-title::before {
403
- content: '';
404
- position: absolute;
405
- inset-block: 0;
406
- inset-inline-start: var(--sl-search-page-icon-inline-start);
407
- width: var(--sl-search-page-icon-size);
408
- background: var(--sl-color-gray-3);
409
- -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E")
410
- center no-repeat;
411
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E")
412
- center no-repeat;
413
- }
395
+ #starlight__search .pagefind-ui__result-inner > :first-child {
396
+ border-radius: var(--sl-search-corners) var(--sl-search-corners) 0 0;
397
+ }
398
+ #starlight__search .pagefind-ui__result-inner > :last-child {
399
+ border-radius: 0 0 var(--sl-search-corners) var(--sl-search-corners);
400
+ }
414
401
 
415
- #starlight__search .pagefind-ui__result-inner {
416
- align-items: stretch;
417
- gap: 1px;
418
- }
402
+ #starlight__search .pagefind-ui__result-inner > .pagefind-ui__result-title {
403
+ padding: var(--sl-search-result-pad-block) var(--sl-search-result-pad-inline-end);
404
+ padding-inline-start: var(--sl-search-result-pad-inline-start);
405
+ }
406
+ #starlight__search .pagefind-ui__result-inner > .pagefind-ui__result-title::before {
407
+ content: '';
408
+ position: absolute;
409
+ inset-block: 0;
410
+ inset-inline-start: var(--sl-search-page-icon-inline-start);
411
+ width: var(--sl-search-page-icon-size);
412
+ background: var(--sl-color-gray-3);
413
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E")
414
+ center no-repeat;
415
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E")
416
+ center no-repeat;
417
+ }
419
418
 
420
- #starlight__search .pagefind-ui__result-link {
421
- position: unset;
422
- --pagefind-ui-text: var(--sl-color-white);
423
- font-weight: 600;
424
- }
419
+ #starlight__search .pagefind-ui__result-inner {
420
+ align-items: stretch;
421
+ gap: 1px;
422
+ }
425
423
 
426
- #starlight__search .pagefind-ui__result-link:hover {
427
- text-decoration: none;
428
- }
424
+ #starlight__search .pagefind-ui__result-link {
425
+ position: unset;
426
+ --pagefind-ui-text: var(--sl-color-white);
427
+ font-weight: 600;
428
+ }
429
429
 
430
- #starlight__search .pagefind-ui__result-nested .pagefind-ui__result-link::before {
431
- content: unset;
432
- }
430
+ #starlight__search .pagefind-ui__result-link:hover {
431
+ text-decoration: none;
432
+ }
433
433
 
434
- #starlight__search .pagefind-ui__result-nested::before {
435
- content: '';
436
- position: absolute;
437
- inset-block: 0;
438
- inset-inline-start: var(--sl-search-tree-diagram-inline-start);
439
- width: var(--sl-search-tree-diagram-size);
440
- background: var(--sl-color-gray-4);
441
- -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E")
442
- 0% 0% / 100% no-repeat;
443
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E")
444
- 0% 0% / 100% no-repeat;
445
- }
446
- #starlight__search .pagefind-ui__result-nested:last-of-type::before {
447
- -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E");
448
- mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E");
449
- }
434
+ #starlight__search .pagefind-ui__result-nested .pagefind-ui__result-link::before {
435
+ content: unset;
436
+ }
450
437
 
451
- /* Flip page and tree icons around the vertical axis when in an RTL layout. */
452
- [dir='rtl'] .pagefind-ui__result-title::before,
453
- [dir='rtl'] .pagefind-ui__result-nested::before {
454
- transform: matrix(-1, 0, 0, 1, 0, 0);
455
- }
438
+ #starlight__search .pagefind-ui__result-nested::before {
439
+ content: '';
440
+ position: absolute;
441
+ inset-block: 0;
442
+ inset-inline-start: var(--sl-search-tree-diagram-inline-start);
443
+ width: var(--sl-search-tree-diagram-size);
444
+ background: var(--sl-color-gray-4);
445
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E")
446
+ 0% 0% / 100% no-repeat;
447
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E")
448
+ 0% 0% / 100% no-repeat;
449
+ }
450
+ #starlight__search .pagefind-ui__result-nested:last-of-type::before {
451
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E");
452
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E");
453
+ }
456
454
 
457
- #starlight__search .pagefind-ui__result-link::after {
458
- content: '';
459
- position: absolute;
460
- inset: 0;
461
- }
455
+ /* Flip page and tree icons around the vertical axis when in an RTL layout. */
456
+ [dir='rtl'] .pagefind-ui__result-title::before,
457
+ [dir='rtl'] .pagefind-ui__result-nested::before {
458
+ transform: matrix(-1, 0, 0, 1, 0, 0);
459
+ }
462
460
 
463
- #starlight__search .pagefind-ui__result-excerpt {
464
- font-size: calc(1rem * var(--pagefind-ui-scale));
465
- overflow-wrap: anywhere;
466
- }
461
+ #starlight__search .pagefind-ui__result-link::after {
462
+ content: '';
463
+ position: absolute;
464
+ inset: 0;
465
+ }
467
466
 
468
- #starlight__search mark {
469
- color: var(--sl-color-gray-2);
470
- background-color: transparent;
471
- font-weight: 600;
472
- }
467
+ #starlight__search .pagefind-ui__result-excerpt {
468
+ font-size: calc(1rem * var(--pagefind-ui-scale));
469
+ overflow-wrap: anywhere;
470
+ }
473
471
 
474
- #starlight__search .pagefind-ui__filter-value::before {
475
- border-color: var(--sl-color-text-invert);
476
- }
472
+ #starlight__search mark {
473
+ color: var(--sl-color-gray-2);
474
+ background-color: transparent;
475
+ font-weight: 600;
476
+ }
477
477
 
478
- #starlight__search .pagefind-ui__result-tags {
479
- background-color: var(--sl-color-black);
480
- margin-top: 0;
481
- padding: var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end);
478
+ #starlight__search .pagefind-ui__filter-value::before {
479
+ border-color: var(--sl-color-text-invert);
480
+ }
481
+
482
+ #starlight__search .pagefind-ui__result-tags {
483
+ background-color: var(--sl-color-black);
484
+ margin-top: 0;
485
+ padding: var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end);
486
+ }
482
487
  }
483
488
  </style>