starlight-theme-apple 0.1.0 → 0.3.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.
@@ -4,67 +4,74 @@
4
4
  .content-panel:first-of-type .sl-container {
5
5
  padding-top: clamp(2.5rem, 6vw, 5rem);
6
6
  }
7
+
7
8
  .apple-breadcrumbs {
8
9
  display: flex;
9
- flex-wrap: wrap;
10
+ flex-wrap: nowrap;
10
11
  align-items: center;
11
- gap: 0.38rem;
12
- margin-bottom: 0.85rem;
12
+ gap: 0.4rem;
13
+ min-width: 0;
14
+ margin-bottom: 0.875rem;
15
+ overflow: hidden;
13
16
  color: var(--apple-tertiary-foreground);
14
17
  font-size: 0.8125rem;
15
- line-height: 1.3;
18
+ line-height: 1.125rem;
19
+ white-space: nowrap;
20
+ }
21
+ .apple-breadcrumbs a,
22
+ .apple-breadcrumbs span {
23
+ overflow: hidden;
24
+ text-overflow: ellipsis;
16
25
  }
17
26
  .apple-breadcrumbs a {
18
- color: var(--apple-secondary-foreground);
27
+ color: var(--apple-tertiary-foreground);
19
28
  text-decoration: none;
20
29
  }
21
- .apple-breadcrumbs a:hover {
30
+ .apple-breadcrumbs a:is(:hover, :focus-visible) {
22
31
  color: var(--apple-link);
23
32
  }
24
- .apple-breadcrumbs span {
25
- color: var(--apple-tertiary-foreground);
33
+ .apple-breadcrumbs > span[aria-hidden] {
34
+ flex: 0 0 auto;
35
+ overflow: visible;
26
36
  }
37
+
27
38
  .content-panel h1 {
28
39
  margin: 0;
29
40
  color: var(--apple-foreground);
30
- font-weight: 700;
31
- letter-spacing: -0.035em;
32
- font-size: 2.5rem;
33
- line-height: 2.75rem;
41
+ font-size: 3rem;
42
+ font-weight: 600;
43
+ line-height: 3.25rem;
44
+ letter-spacing: -0.025em;
45
+ overflow-wrap: anywhere;
34
46
  }
47
+
35
48
  .content-panel
36
49
  .sl-container
37
50
  > p:first-of-type:not(:where(.sl-markdown-content *)) {
38
51
  max-width: 42rem;
39
- margin-top: 1rem;
52
+ margin-top: 0.75rem;
40
53
  color: var(--apple-secondary-foreground);
41
- font-size: clamp(1.05rem, 2vw, 1.2rem);
42
- line-height: 1.45;
54
+ font-size: 1.3125rem;
55
+ line-height: 1.8125rem;
43
56
  }
57
+
44
58
  .meta {
45
59
  align-items: center;
46
60
  flex-direction: row-reverse;
47
61
  justify-content: flex-start;
48
62
  gap: 0.5rem;
49
- margin-top: 1.2rem;
63
+ margin-top: 1.25rem;
50
64
  color: var(--apple-secondary-foreground);
51
- font-size: 0.8rem;
65
+ font-size: 0.8125rem;
52
66
  }
53
67
  .meta a {
54
- display: inline-flex;
55
- align-items: center;
56
- min-height: 2rem;
57
- padding: 0.3rem 0.55rem;
58
- border: 1px solid transparent;
59
- border-radius: var(--apple-radius-sm);
60
68
  color: var(--apple-link);
61
69
  text-decoration: none;
62
70
  }
63
71
  .meta a:is(:hover, :focus-visible) {
64
- border-color: var(--apple-border);
65
- background: var(--apple-selection);
66
72
  color: var(--apple-link-hover);
67
73
  }
74
+
68
75
  .sl-markdown-content {
69
76
  color: var(--apple-foreground);
70
77
  font-size: 1.0625rem;
@@ -79,104 +86,169 @@
79
86
  .sl-markdown-content :is(p, li, blockquote):not(:where(.not-content *)) {
80
87
  max-width: 70ch;
81
88
  }
89
+ .sl-markdown-content
90
+ :is(p, ul, ol, blockquote, table):not(:where(.not-content *)) {
91
+ margin-block: 1rem;
92
+ }
93
+
82
94
  .sl-markdown-content .sl-heading-wrapper.level-h2 {
83
- margin-top: 3.25rem;
84
- padding-top: 1.5rem;
85
- border-top: 1px solid var(--apple-border-subtle);
95
+ margin-top: var(--apple-section-spacing);
86
96
  }
87
97
  .sl-markdown-content h2:not(:where(.not-content *)) {
88
- margin-top: 0;
89
- padding-top: 0;
90
- border-top: 0;
98
+ margin-top: var(--apple-section-spacing);
99
+ padding: 0;
100
+ border: 0;
91
101
  color: var(--apple-foreground);
92
- font-weight: 650;
93
- letter-spacing: -0.025em;
94
102
  font-size: 2rem;
95
- line-height: 2.25rem;
103
+ font-weight: 600;
104
+ line-height: 2.5rem;
105
+ letter-spacing: -0.018em;
106
+ }
107
+ .sl-markdown-content .sl-heading-wrapper.level-h2 h2,
108
+ .sl-markdown-content .sl-heading-wrapper.level-h3 h3,
109
+ .sl-markdown-content .sl-heading-wrapper.level-h4 h4 {
110
+ margin-top: 0;
111
+ }
112
+
113
+ .sl-markdown-content .sl-heading-wrapper.level-h3,
114
+ .sl-markdown-content h3:not(:where(.not-content *)) {
115
+ margin-top: 2rem;
96
116
  }
97
117
  .sl-markdown-content h3:not(:where(.not-content *)) {
98
- margin-top: 2.3rem;
99
118
  color: var(--apple-foreground);
100
- font-weight: 650;
101
- letter-spacing: -0.015em;
102
119
  font-size: 1.75rem;
120
+ font-weight: 500;
103
121
  line-height: 2rem;
122
+ letter-spacing: -0.012em;
104
123
  }
105
- .sl-markdown-content .sl-heading-wrapper.level-h3 {
106
- margin-top: 2.3rem;
107
- }
108
- .sl-markdown-content .sl-heading-wrapper.level-h3 h3 {
109
- margin-top: 0;
124
+ .sl-markdown-content .sl-heading-wrapper.level-h4,
125
+ .sl-markdown-content h4:not(:where(.not-content *)) {
126
+ margin-top: 1.75rem;
110
127
  }
111
128
  .sl-markdown-content h4:not(:where(.not-content *)) {
112
- margin-top: 1.9rem;
113
129
  color: var(--apple-foreground);
114
- font-weight: 600;
115
130
  font-size: 1.5rem;
131
+ font-weight: 600;
116
132
  line-height: 1.75rem;
117
133
  }
118
- .sl-markdown-content .sl-heading-wrapper.level-h4 {
119
- margin-top: 1.9rem;
134
+ .sl-markdown-content h5:not(:where(.not-content *)) {
135
+ font-size: 1.375rem;
136
+ line-height: 1.625rem;
120
137
  }
121
- .sl-markdown-content .sl-heading-wrapper.level-h4 h4 {
122
- margin-top: 0;
138
+ .sl-markdown-content h6:not(:where(.not-content *)) {
139
+ font-size: 1.0625rem;
140
+ line-height: 1.5625rem;
123
141
  }
142
+
143
+ .sl-heading-wrapper .sl-anchor-link {
144
+ margin-inline-start: 0.25rem;
145
+ padding: 0.25rem;
146
+ border-radius: var(--apple-radius-sm);
147
+ color: var(--apple-tertiary-foreground);
148
+ opacity: 0;
149
+ }
150
+ .sl-heading-wrapper:is(:hover, :focus-within) .sl-anchor-link {
151
+ opacity: 1;
152
+ }
153
+ .sl-heading-wrapper .sl-anchor-link:is(:hover, :focus-visible) {
154
+ background: var(--apple-hover-surface);
155
+ color: var(--apple-link);
156
+ }
157
+
124
158
  .sl-markdown-content a:not(:where(.not-content *)) {
125
159
  color: var(--apple-link);
126
- text-decoration-thickness: 1px;
127
- text-underline-offset: 0.16em;
160
+ text-decoration: none;
128
161
  }
129
- .sl-markdown-content a:hover:not(:where(.not-content *)) {
162
+ .sl-markdown-content a:is(:hover, :focus-visible):not(:where(.not-content *)) {
130
163
  color: var(--apple-link-hover);
164
+ text-decoration: underline;
165
+ text-decoration-thickness: 1px;
166
+ text-underline-offset: 0.14em;
131
167
  }
132
168
  .sl-markdown-content hr:not(:where(.not-content *)) {
133
- border-color: var(--apple-border-subtle);
169
+ border-color: var(--apple-hairline);
134
170
  }
135
171
  .sl-markdown-content blockquote:not(:where(.not-content *)) {
136
172
  margin-inline: 0;
137
- padding: 0.15rem 0 0.15rem 1.25rem;
138
- border-inline-start: 3px solid var(--apple-border);
173
+ padding: 0.125rem 0 0.125rem 1rem;
174
+ border-inline-start: 2px solid var(--apple-border);
139
175
  color: var(--apple-secondary-foreground);
140
176
  }
177
+
178
+ .sl-markdown-content :is(ul, ol):not(:where(.not-content *, .sl-steps)) {
179
+ padding-inline-start: 1.5rem;
180
+ }
181
+ .sl-markdown-content :is(ul, ol):not(:where(.not-content *, .sl-steps)) > li {
182
+ padding-inline-start: 0.25rem;
183
+ }
184
+ .sl-markdown-content
185
+ :is(ul, ol):not(:where(.not-content *, .sl-steps))
186
+ > li::marker {
187
+ color: var(--apple-tertiary-foreground);
188
+ }
189
+
141
190
  .sl-markdown-content table:not(:where(.not-content *)) {
142
191
  display: table;
143
192
  width: 100%;
144
193
  border-collapse: collapse;
145
- font-size: 0.9rem;
194
+ font-size: 0.9375rem;
146
195
  }
147
196
  .sl-markdown-content :is(th, td):not(:where(.not-content *)) {
148
- padding: 0.7rem 0.8rem;
149
- border: 1px solid var(--apple-border);
197
+ padding: 0.625rem;
198
+ border: 0;
199
+ border-bottom: 1px solid var(--apple-hairline);
150
200
  text-align: start;
151
201
  }
152
202
  .sl-markdown-content th:not(:where(.not-content *)) {
153
- background: var(--apple-code-background);
203
+ background: var(--apple-secondary-background);
154
204
  color: var(--apple-foreground);
155
205
  font-weight: 600;
156
206
  }
157
- .sl-markdown-content details:not(:where(.not-content *)) {
158
- border-inline-start: 1px solid var(--apple-border);
159
- transition: border-color var(--apple-transition);
207
+ .sl-markdown-content tbody tr:hover:not(:where(.not-content *)) {
208
+ background: var(--apple-hover-surface);
160
209
  }
161
- .sl-markdown-content details:hover:not(:where(.not-content *)),
162
- .sl-markdown-content details:focus-within:not(:where(.not-content *)) {
163
- border-inline-start-color: var(--apple-link);
210
+
211
+ .sl-markdown-content details:not(:where(.not-content *)) {
212
+ overflow: clip;
213
+ padding: 0;
214
+ border: 1px solid var(--apple-border);
215
+ border-radius: 0.75rem;
216
+ background: var(--apple-secondary-background);
164
217
  }
165
218
  .sl-markdown-content details > summary:not(:where(.not-content *)) {
219
+ padding: 0.875rem 1rem;
166
220
  color: var(--apple-foreground);
221
+ font-weight: 500;
222
+ cursor: pointer;
223
+ }
224
+ .sl-markdown-content details > summary:hover:not(:where(.not-content *)) {
225
+ background: var(--apple-hover-surface);
226
+ }
227
+ .sl-markdown-content details[open] > summary:not(:where(.not-content *)) {
228
+ border-bottom: 1px solid var(--apple-hairline);
229
+ }
230
+ .sl-markdown-content details > :not(summary):not(:where(.not-content *)) {
231
+ margin-inline: 1rem;
232
+ }
233
+ .sl-markdown-content details > :last-child:not(:where(.not-content *)) {
234
+ margin-bottom: 1rem;
235
+ }
236
+
237
+ .sl-markdown-content .card,
238
+ .sl-markdown-content .sl-link-card {
239
+ border: 1px solid var(--apple-hairline);
240
+ border-radius: 0.75rem;
241
+ background: var(--apple-secondary-background);
242
+ box-shadow: none;
167
243
  }
168
244
  .sl-markdown-content .card {
169
- border: 1px solid var(--apple-border-subtle);
170
- border-radius: var(--apple-radius);
171
- background: var(--apple-surface-raised);
172
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
173
245
  padding: 1.25rem;
174
246
  }
175
247
  .sl-markdown-content .card-grid {
176
248
  gap: 1rem;
177
249
  }
178
250
  .sl-markdown-content .card-grid.stagger {
179
- --stagger-height: 2.5rem;
251
+ --stagger-height: 2rem;
180
252
  }
181
253
  .sl-markdown-content .card .title,
182
254
  .sl-markdown-content .sl-link-card .title {
@@ -186,143 +258,176 @@
186
258
  }
187
259
  .sl-markdown-content .card .title .icon {
188
260
  color: var(--apple-link);
189
- font-size: 1.625rem;
190
- }
191
- .sl-markdown-content .sl-link-card {
192
- border-color: var(--apple-border-subtle);
193
- border-radius: var(--apple-radius);
194
- background: var(--apple-surface-raised);
195
- box-shadow: none;
196
- transition:
197
- color var(--apple-transition),
198
- background-color var(--apple-transition),
199
- border-color var(--apple-transition),
200
- transform 80ms ease;
261
+ font-size: 1.5rem;
201
262
  }
202
263
  .sl-markdown-content .sl-link-card:is(:hover, :focus-visible) {
203
- border-color: color-mix(in srgb, var(--apple-link) 55%, var(--apple-border));
204
- background: var(--apple-selection);
205
- }
206
- .sl-markdown-content .sl-link-card:active {
207
- border-color: var(--apple-link);
208
- background: var(--apple-pressed);
209
- transform: scale(0.985);
264
+ border-color: var(--apple-border);
265
+ background: var(--apple-hover-surface);
266
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
267
+ text-decoration: none;
210
268
  }
211
269
  .sl-markdown-content .sl-link-card .description {
212
270
  color: var(--apple-secondary-foreground);
213
271
  }
214
- .sl-markdown-content .sl-link-card:is(:hover, :focus-visible) .description {
215
- color: var(--apple-foreground);
216
- }
217
272
  .sl-markdown-content .sl-link-card .icon {
218
- color: var(--apple-secondary-foreground);
219
- }
220
- .sl-markdown-content .sl-link-card:is(:hover, :focus-visible) .icon {
221
- color: var(--apple-link);
273
+ color: var(--apple-tertiary-foreground);
222
274
  }
275
+
223
276
  .starlight-aside {
224
- --sl-color-asides-border: var(--apple-border);
277
+ --apple-aside-accent: var(--apple-secondary-foreground);
225
278
  margin-block: 1.5rem;
226
- padding: 1rem 1.15rem;
227
- border: 0;
228
- border-inline-start: 4px solid var(--apple-note);
229
- border-radius: 0 var(--apple-radius-sm) var(--apple-radius-sm) 0;
230
- background: var(--apple-code-background);
279
+ padding: 1rem 1.125rem;
280
+ border: 1px solid var(--apple-border);
281
+ border-radius: 0.75rem;
282
+ background: var(--apple-aside-background);
231
283
  color: var(--apple-foreground);
284
+ box-shadow: none;
232
285
  }
233
286
  .starlight-aside--caution {
234
- border-inline-start-color: var(--apple-warning);
287
+ --apple-aside-accent: var(--apple-warning);
235
288
  }
236
289
  .starlight-aside--danger {
237
- border-inline-start-color: var(--apple-danger);
290
+ --apple-aside-accent: var(--apple-danger);
238
291
  }
239
292
  .starlight-aside--tip {
240
- border-inline-start-color: var(--apple-success);
293
+ --apple-aside-accent: var(--apple-success);
294
+ }
295
+ .starlight-aside__icon {
296
+ display: none;
241
297
  }
242
298
  .starlight-aside__title {
243
- color: var(--apple-foreground);
244
- font-size: 1.0625rem;
245
- line-height: 1.625rem;
246
- font-weight: 650;
247
- letter-spacing: 0.01em;
299
+ color: var(--apple-aside-accent);
300
+ font-size: 0.9375rem;
301
+ font-weight: 500;
302
+ line-height: 1.375rem;
248
303
  }
249
304
  .starlight-aside__title + * {
250
- margin-top: 0.5rem;
305
+ margin-top: 0.375rem;
306
+ }
307
+ .starlight-aside__content > :first-child {
308
+ margin-top: 0;
251
309
  }
252
- .starlight-aside tr:nth-child(even) {
253
- background: color-mix(
254
- in srgb,
255
- var(--sl-color-asides-border) 18%,
256
- transparent
257
- );
310
+ .starlight-aside__content > :last-child {
311
+ margin-bottom: 0;
258
312
  }
313
+
259
314
  .content-panel:first-of-type p.sl-flex:not(:where(.sl-markdown-content *)) {
260
315
  align-items: flex-start;
261
316
  gap: 0.75rem;
262
317
  padding: 0.875rem 1rem;
263
- border: 1px solid var(--apple-border-subtle);
318
+ border: 1px solid var(--apple-hairline);
264
319
  border-radius: var(--apple-radius-sm);
265
320
  background: var(--apple-code-background);
266
321
  }
267
322
  .content-panel:first-of-type p.sl-flex:not(:where(.sl-markdown-content *)) svg {
268
323
  flex-shrink: 0;
269
324
  }
325
+
270
326
  .sl-steps > li {
271
- padding-bottom: 0.5rem;
272
- padding-inline-start: 2.75rem !important;
327
+ padding-bottom: 1rem;
328
+ padding-inline-start: 2.75rem;
273
329
  }
274
330
  .sl-steps > li + li {
275
331
  margin-top: 0;
276
332
  }
277
- .sl-steps > li:last-of-type::after {
278
- --guide-width: 1px;
279
- bottom: var(--bullet-margin);
280
- width: var(--guide-width);
281
- background: linear-gradient(
282
- to bottom,
283
- var(--apple-border-subtle),
284
- var(--apple-background) 85%
285
- );
286
- content: "";
287
- position: absolute;
288
- inset-block-start: calc(var(--bullet-size) + var(--bullet-margin));
289
- inset-inline-start: calc((var(--bullet-size) - var(--guide-width)) / 2);
333
+ .sl-steps > li::before {
334
+ border-color: var(--apple-border);
335
+ background: var(--apple-secondary-background);
336
+ color: var(--apple-foreground);
337
+ font-weight: 600;
338
+ box-shadow: 0 0 0 4px var(--apple-background);
339
+ }
340
+ .sl-steps > li:not(:last-child)::after {
341
+ border-inline-start-color: var(--apple-hairline);
290
342
  }
343
+
291
344
  .pagination-links {
292
- gap: 1.5rem;
293
- padding-top: 2rem;
294
- border-top: 1px solid var(--apple-border-subtle);
345
+ display: grid;
346
+ grid-template-columns: repeat(2, minmax(0, 1fr));
347
+ gap: 2rem;
348
+ margin-top: 2.5rem;
349
+ padding-top: 1.5rem;
350
+ border-top: 1px solid var(--apple-hairline);
295
351
  }
296
352
  .pagination-links > a {
353
+ display: flex;
297
354
  align-items: flex-start;
298
- min-height: 3.5rem;
299
- padding: 0.65rem 0.75rem;
300
- border-radius: var(--apple-radius-sm);
301
- border: 0;
302
- box-shadow: none;
355
+ gap: 0.625rem;
356
+ min-width: 0;
357
+ padding-block: 0.5rem;
303
358
  color: var(--apple-link);
359
+ text-decoration: none;
360
+ }
361
+ .pagination-links > a[rel="next"] {
362
+ justify-content: flex-end;
363
+ text-align: end;
304
364
  }
305
- .pagination-links > a:hover {
306
- background: var(--apple-selection);
365
+ .pagination-links > a:is(:hover, :focus-visible) {
307
366
  color: var(--apple-link-hover);
308
367
  }
309
- .pagination-links > a:active {
310
- background: var(--apple-pressed);
368
+ .pagination-links > a > span:not(.pagination-arrow) {
369
+ min-width: 0;
311
370
  }
312
- .pagination-links > a > span {
313
- color: var(--apple-secondary-foreground);
371
+ .pagination-links small,
372
+ .pagination-links .link-title {
373
+ display: block;
374
+ }
375
+ .pagination-links small {
376
+ margin-bottom: 0.2rem;
377
+ color: var(--apple-tertiary-foreground);
314
378
  font-size: 0.75rem;
379
+ line-height: 1rem;
315
380
  }
316
381
  .pagination-links .link-title {
317
- color: inherit;
318
- font-size: 0.95rem;
382
+ font-size: 0.9375rem;
319
383
  font-weight: 500;
384
+ line-height: 1.25rem;
385
+ overflow-wrap: anywhere;
386
+ }
387
+ .pagination-arrow {
388
+ flex: 0 0 auto;
389
+ line-height: 1.25rem;
390
+ }
391
+
392
+ .hero {
393
+ width: min(100%, 64rem);
394
+ margin-inline: auto;
395
+ padding-block: clamp(4rem, 10vw, 8rem);
396
+ padding-inline: var(--sl-content-pad-x);
397
+ }
398
+ .hero > img {
399
+ flex: 0 0 clamp(12rem, 26vw, 20rem);
400
+ width: clamp(12rem, 26vw, 20rem);
401
+ height: auto;
402
+ filter: saturate(0.92);
403
+ }
404
+ .hero .stack {
405
+ gap: 1.5rem;
406
+ }
407
+ .hero .copy {
408
+ gap: 0.75rem;
409
+ }
410
+ .hero h1 {
411
+ max-width: 12ch;
412
+ margin: 0;
413
+ color: var(--apple-foreground);
414
+ font-size: clamp(2.75rem, 6vw, 4.5rem);
415
+ font-weight: 600;
416
+ line-height: 1.02;
417
+ letter-spacing: -0.035em;
320
418
  }
321
- .pagination-links > a > svg {
322
- margin-top: 0.2rem;
419
+ .hero .tagline {
420
+ max-width: 32rem;
421
+ color: var(--apple-secondary-foreground);
422
+ font-size: clamp(1.25rem, 2.4vw, 1.5rem);
423
+ line-height: 1.4;
424
+ }
425
+ .hero .actions {
426
+ gap: 0.75rem;
323
427
  }
428
+
324
429
  .sl-markdown-content starlight-tabs ul[role="tablist"] {
325
- border-bottom: 1px solid var(--apple-border);
430
+ border-bottom: 1px solid var(--apple-hairline);
326
431
  }
327
432
  .sl-markdown-content starlight-tabs a[role="tab"] {
328
433
  color: var(--apple-secondary-foreground);