@scalar/code-highlight 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @scalar/code-highlight
2
2
 
3
+ ## 0.1.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 00fc827: feat: updates markdown overall style
8
+ - 358eb63: fix(api-reference): fix markdown styles pt2
9
+
3
10
  ## 0.1.1
4
11
 
5
12
  ### Patch Changes
@@ -1,232 +1,165 @@
1
1
  @import url("./code.css");
2
2
 
3
3
  .scalar-app {
4
+ /* Base container and variables */
4
5
  .markdown {
6
+ --scalar-refs-heading-spacing: 24px;
7
+ --markdown-border: var(--scalar-border-width) solid var(--scalar-border-color);
8
+ --markdown-spacing-sm: 12px;
9
+ --markdown-spacing-md: 16px;
10
+ --markdown-line-height: 1.625;
11
+
5
12
  font-family: var(--scalar-font);
6
13
  word-break: break-word;
7
14
  }
8
15
 
9
- /* Apply base padding for all block elements */
10
- .markdown h1,
11
- .markdown h2,
12
- .markdown h3,
13
- .markdown h4,
14
- .markdown h5,
15
- .markdown h6,
16
- .markdown p,
17
- .markdown div,
18
- .markdown img,
19
- .markdown details,
20
- .markdown summary,
21
- .markdown ul,
22
- .markdown ol,
23
- .markdown table,
24
- .markdown blockquote,
25
- .markdown code {
26
- margin: 12px 0;
27
- }
28
-
29
- .markdown details {
30
- margin: 12px 0;
31
- color: var(--scalar-color-1);
32
- }
33
- .markdown summary {
34
- display: block;
35
- margin: 1em 0;
36
- padding-left: 20px;
37
- position: relative;
38
- font-weight: var(--scalar-semibold);
39
- cursor: pointer;
40
- user-select: none;
41
- }
42
-
43
- .markdown summary::after {
44
- display: block;
45
- content: "";
46
-
47
- position: absolute;
48
- top: -1px;
49
- left: -1px;
50
-
51
- width: 20px;
52
- height: 20px;
53
-
54
- background-color: var(--scalar-color-3);
55
- mask-image: url('data:image/svg+xml,<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m9 18 6-6-6-6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
56
- }
57
-
58
- .markdown summary:hover::after {
59
- background-color: var(--scalar-color-1);
60
- }
61
-
62
- .markdown details[open] summary::after {
63
- transform: rotate(90deg);
16
+ .markdown > * {
17
+ margin-bottom: var(--markdown-spacing-md);
64
18
  }
65
19
 
66
- .markdown img {
67
- overflow: hidden;
68
- border-radius: var(--scalar-radius);
69
- max-width: 100%;
70
- }
71
- /* Don't add margin to the first block */
72
- .markdown > :first-child {
73
- margin-top: 0;
20
+ /* margin gets doubled between heading + non heading elements if we don't do this*/
21
+ .markdown > *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):last-child {
74
22
  margin-bottom: 0;
75
23
  }
76
-
24
+ /* Headings (h1-h6) */
77
25
  .markdown h1 {
78
- --font-size: 1.4em;
79
- }
80
-
81
- .markdown h2 {
82
- --font-size: 1.25em;
26
+ --font-size: 1.5rem;
27
+ --markdown-line-height: 32px;
83
28
  }
84
29
 
30
+ .markdown h2,
85
31
  .markdown h3 {
86
- --font-size: 1.1em;
87
- }
88
-
89
- .markdown h4 {
90
- --font-size: 1em;
32
+ --font-size: 1.25rem;
33
+ --markdown-line-height: 1.3;
91
34
  }
92
35
 
36
+ .markdown h4,
37
+ .markdown h5,
93
38
  .markdown h6 {
94
- --font-size: 1em;
39
+ --font-size: 1rem;
95
40
  }
41
+
96
42
  .markdown h1,
97
43
  .markdown h2,
98
44
  .markdown h3,
99
45
  .markdown h4,
100
46
  .markdown h5,
101
47
  .markdown h6 {
48
+ display: block;
102
49
  font-size: var(--font-size);
103
- margin: 18px 0 6px;
104
50
  font-weight: var(--scalar-bold);
105
- display: block;
106
- line-height: 1.45;
51
+ margin-top: var(--scalar-refs-heading-spacing);
52
+ margin-bottom: var(--markdown-spacing-sm);
107
53
  scroll-margin-top: 1rem;
108
54
  }
55
+
56
+ /* Text formatting and paragraphs */
109
57
  .markdown b,
110
58
  .markdown strong {
111
59
  font-weight: var(--scalar-bold);
112
60
  }
61
+
113
62
  .markdown p {
114
63
  color: inherit;
115
- font-weight: var(--font-weight, var(--scalar-regular));
116
- line-height: 1.5;
117
- margin-bottom: 0;
64
+ line-height: var(--markdown-line-height);
118
65
  display: block;
119
66
  }
120
67
 
121
- .markdown ul,
122
- .markdown ol {
123
- padding-left: 24px;
124
- line-height: 1.5;
125
- margin: 12px 0;
126
- display: block;
68
+ /* Images */
69
+ .markdown img {
70
+ overflow: hidden;
71
+ border-radius: var(--scalar-radius);
72
+ max-width: 100%;
127
73
  }
128
74
 
129
- .markdown ul {
130
- list-style: disc;
75
+ /* Lists */
76
+ .markdown ul:not(.contains-task-list),
77
+ .markdown ol {
78
+ display: flex;
79
+ flex-direction: column;
80
+ gap: 2px;
131
81
  }
132
82
 
133
- .markdown ol {
134
- list-style: decimal;
83
+ .markdown ul:not(.contains-task-list) {
84
+ list-style-position: inside;
135
85
  }
136
86
 
137
- .markdown ul.contains-task-list {
138
- list-style: none;
139
- padding-left: 0;
87
+ .markdown ul {
88
+ list-style-type: disc;
140
89
  }
141
90
 
142
91
  .markdown li {
143
- margin: 6px 0;
144
- display: list-item;
145
- }
146
- .markdown ul:first-of-type li:first-of-type {
147
- margin-top: 0;
148
- }
149
- .markdown a {
150
- color: var(--scalar-link-color, var(--scalar-color-accent));
151
- font-weight: var(--scalar-link-font-weight, inherit);
152
- text-decoration: var(--scalar-text-decoration);
153
- cursor: pointer;
154
- }
155
- .markdown a:hover {
156
- color: var(--scalar-link-color-hover, var(--scalar-color-accent));
157
- text-decoration: var(--scalar-text-decoration-hover);
158
- }
159
- .markdown em {
160
- font-style: italic;
161
- }
162
- .markdown sup {
163
- font-size: var(--scalar-micro);
164
- vertical-align: super;
165
- font-weight: 450;
92
+ line-height: var(--markdown-line-height);
93
+ position: relative;
166
94
  }
167
- .markdown sub {
168
- font-size: var(--scalar-micro);
169
- vertical-align: sub;
170
- font-weight: 450;
95
+
96
+ .markdown ul li {
97
+ padding-left: var(--markdown-spacing-md);
171
98
  }
172
- .markdown del {
173
- text-decoration: line-through;
99
+
100
+ .markdown ol {
101
+ counter-reset: item;
102
+ padding-left: 37.5px;
174
103
  }
175
- .markdown code {
176
- font-family: var(--scalar-font-code);
177
- background-color: var(--scalar-background-2);
178
- box-shadow: 0 0 0 var(--scalar-border-width) var(--scalar-border-color);
179
- font-size: var(--scalar-micro);
180
- border-radius: 2px;
181
- padding: 0 3px;
104
+
105
+ .markdown ol li::before {
106
+ content: counter(item) "\002E";
107
+ counter-increment: item;
108
+ font: var(--scalar-font);
109
+ font-weight: var(--scalar-semibold);
110
+ position: absolute;
111
+ top: 0;
112
+ left: -24px;
113
+ line-height: var(--markdown-line-height);
114
+ margin-right: var(--markdown-spacing-sm);
182
115
  }
183
116
 
184
- .markdown .hljs {
185
- font-size: var(--scalar-small);
117
+ .markdown ol li::before,
118
+ .markdown ol ol ol li::before,
119
+ .markdown ol ol ol ol ol ol li::before {
120
+ content: counter(item, decimal) "\002E";
186
121
  }
187
122
 
188
- .markdown pre code {
189
- display: block;
190
- white-space: pre;
191
- padding: 12px;
192
- line-height: 1.5;
193
- margin: 12px 0;
194
- -webkit-overflow-scrolling: touch;
195
- overflow-x: auto;
196
- max-width: 100%;
197
- min-width: 100px;
123
+ .markdown ol ol li::before,
124
+ .markdown ol ol ol ol li::before,
125
+ .markdown ol ol ol ol ol ol ol li::before {
126
+ content: counter(item, lower-alpha) "\002E";
198
127
  }
199
128
 
200
- .markdown hr {
201
- border: none;
202
- border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);
129
+ .markdown ol ol li::before,
130
+ .markdown ol ol ol ol ol li::before,
131
+ .markdown ol ol ol ol ol ol ol ol li::before {
132
+ content: counter(item, lower-roman) "\002E";
203
133
  }
204
134
 
205
- .markdown blockquote {
206
- border-left: 3px solid var(--scalar-border-color);
207
- padding-left: 12px;
208
- margin: 0;
209
- display: block;
135
+ .markdown ul:first-of-type li:first-of-type {
136
+ margin-top: 0;
210
137
  }
211
138
 
139
+ /* Tables */
212
140
  .markdown table {
213
- display: block;
141
+ display: table;
142
+ table-layout: fixed;
214
143
  overflow-x: auto;
215
144
  position: relative;
216
145
  border-collapse: collapse;
217
- width: max-content;
218
- max-width: 100%;
146
+ width: 100%;
219
147
  margin: 1em 0;
220
148
  box-shadow: 0 0 0 var(--scalar-border-width) var(--scalar-border-color);
221
- border-radius: var(--scalar-radius-lg);
149
+ border-radius: var(--scalar-radius);
150
+ }
151
+
152
+ .markdown tbody,
153
+ .markdown thead {
154
+ vertical-align: middle;
222
155
  }
156
+
223
157
  .markdown tbody {
224
158
  display: table-row-group;
225
- vertical-align: middle;
226
159
  }
160
+
227
161
  .markdown thead {
228
162
  display: table-header-group;
229
- vertical-align: middle;
230
163
  }
231
164
 
232
165
  .markdown tr {
@@ -234,30 +167,31 @@
234
167
  border-color: inherit;
235
168
  vertical-align: inherit;
236
169
  }
170
+
237
171
  .markdown td,
238
172
  .markdown th {
239
173
  display: table-cell;
240
- vertical-align: inherit;
241
- min-width: 1em;
242
- padding: 6px 9px;
243
174
  vertical-align: top;
244
- line-height: 1.5;
175
+ min-width: 1em;
176
+ padding: 8.5px 16px;
177
+ line-height: var(--markdown-line-height);
245
178
  position: relative;
246
179
  word-break: initial;
247
180
  font-size: var(--scalar-small);
248
181
  color: var(--scalar-color-1);
249
- font-weight: var(--font-weight, var(--scalar-regular));
250
- border-right: var(--scalar-border-width) solid var(--scalar-border-color);
251
- border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);
182
+ border-right: var(--markdown-border);
183
+ border-bottom: var(--markdown-border);
252
184
  }
253
185
 
254
186
  .markdown td > *,
255
187
  .markdown th > * {
256
188
  margin-bottom: 0;
257
189
  }
190
+
258
191
  .markdown th:empty {
259
192
  display: none;
260
193
  }
194
+
261
195
  .markdown td:first-of-type,
262
196
  .markdown th:first-of-type {
263
197
  border-left: none;
@@ -273,32 +207,248 @@
273
207
  }
274
208
 
275
209
  .markdown th {
276
- font-weight: var(--scalar-semibold) !important;
210
+ font-weight: var(--scalar-bold);
277
211
  text-align: left;
278
212
  border-left-color: transparent;
279
213
  background: var(--scalar-background-2);
280
214
  }
281
215
 
216
+ .markdown th:first-of-type {
217
+ border-top-left-radius: var(--scalar-radius);
218
+ }
219
+
220
+ .markdown th:last-of-type {
221
+ border-top-right-radius: var(--scalar-radius);
222
+ }
223
+
282
224
  .markdown tr > [align="left"] {
283
225
  text-align: left;
284
226
  }
227
+
285
228
  .markdown tr > [align="right"] {
286
229
  text-align: right;
287
230
  }
231
+
288
232
  .markdown tr > [align="center"] {
289
233
  text-align: center;
290
234
  }
291
235
 
236
+ /* Details */
237
+ .markdown details {
238
+ border: var(--markdown-border);
239
+ border-radius: var(--scalar-radius);
240
+ color: var(--scalar-color-1);
241
+ }
242
+
243
+ .markdown details > :not(summary) {
244
+ margin: var(--markdown-spacing-md);
245
+ margin-bottom: 0;
246
+ }
247
+
248
+ .markdown details > p:has(> strong):not(:has(:not(strong))) {
249
+ margin-bottom: 8px;
250
+ }
251
+
252
+ .markdown details > p:has(> strong):not(:has(:not(strong))) + * {
253
+ margin-top: 0;
254
+ }
255
+
256
+ .markdown details > table {
257
+ width: calc(100% - calc(var(--markdown-spacing-md) * 2));
258
+ }
259
+
260
+ .markdown summary {
261
+ background-color: var(--scalar-background-2);
262
+ border-radius: var(--scalar-radius);
263
+ display: flex;
264
+ align-items: top;
265
+ height: 40px;
266
+ padding: 11px 0px 11px 40px;
267
+ position: relative;
268
+ font-weight: var(--scalar-semibold);
269
+ cursor: pointer;
270
+ user-select: none;
271
+ }
272
+
273
+ .markdown details[open] {
274
+ padding-bottom: var(--markdown-spacing-md);
275
+ }
276
+
277
+ .markdown details[open] summary {
278
+ border-bottom: var(--markdown-border);
279
+ border-bottom-left-radius: 0;
280
+ border-bottom-right-radius: 0;
281
+ }
282
+
283
+ .markdown summary::after {
284
+ display: block;
285
+ content: "";
286
+ position: absolute;
287
+ top: calc(var(--markdown-spacing-sm) + 1px);
288
+ left: 14px;
289
+ width: var(--markdown-spacing-md);
290
+ height: var(--markdown-spacing-md);
291
+ background-color: var(--scalar-color-3);
292
+ mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 256 256"><path d="M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z"></path></svg>');
293
+ }
294
+
295
+ .markdown summary:hover::after {
296
+ background-color: var(--scalar-color-1);
297
+ }
298
+
299
+ .markdown details[open] summary::after {
300
+ transform: rotate(90deg);
301
+ }
302
+
303
+ /* Links */
304
+ .markdown a {
305
+ --font-color: var(--scalar-link-color, var(--scalar-color-accent));
306
+ --font-visited: var(--scalar-link-color-visited, var(--scalar-color-2));
307
+ text-decoration: var(--scalar-text-decoration);
308
+
309
+ color: var(--font-color);
310
+ font-weight: var(--scalar-link-font-weight, var(--scalar-semibold));
311
+ text-underline-offset: 0.25rem;
312
+ text-decoration-thickness: 1px;
313
+ text-decoration-color: color-mix(in srgb, var(--font-color) 30%, transparent);
314
+ }
315
+
316
+ .markdown a:hover {
317
+ text-decoration-color: var(currentColor, var(--scalar-color-1));
318
+ color: var(--scalar-link-color-hover, var(--scalar-color-accent));
319
+ -webkit-text-decoration: var(--scalar-text-decoration-hover);
320
+ text-decoration: var(--scalar-text-decoration-hover);
321
+ }
322
+
323
+ .markdown a:visited {
324
+ color: var(--font-visited);
325
+ }
326
+
327
+ /* Text effects and formatting */
328
+ .markdown em {
329
+ font-style: italic;
330
+ }
331
+
332
+ .markdown sup,
333
+ .markdown sub {
334
+ font-size: var(--scalar-micro);
335
+ font-weight: 450;
336
+ }
337
+
338
+ .markdown sup {
339
+ vertical-align: super;
340
+ }
341
+
342
+ .markdown sub {
343
+ vertical-align: sub;
344
+ }
345
+
346
+ .markdown del {
347
+ text-decoration: line-through;
348
+ }
349
+
350
+ /* Code blocks and inline code */
351
+ .markdown code {
352
+ font-family: var(--scalar-font-code);
353
+ background-color: var(--scalar-background-2);
354
+ box-shadow: 0 0 0 var(--scalar-border-width) var(--scalar-border-color);
355
+ font-size: var(--scalar-micro);
356
+ border-radius: 2px;
357
+ padding: 0 3px;
358
+ }
359
+
360
+ .markdown .hljs {
361
+ font-size: var(--scalar-small);
362
+ }
363
+
364
+ .markdown pre code {
365
+ display: block;
366
+ white-space: pre;
367
+ padding: var(--markdown-spacing-sm);
368
+ line-height: 1.5;
369
+ margin: var(--markdown-spacing-sm) 0;
370
+ -webkit-overflow-scrolling: touch;
371
+ overflow-x: auto;
372
+ max-width: 100%;
373
+ min-width: 100px;
374
+ }
375
+
376
+ /* Horizontal rules */
377
+ .markdown hr {
378
+ border: none;
379
+ border-bottom: var(--markdown-border);
380
+ }
381
+
382
+ /* Blockquotes */
383
+ .markdown blockquote {
384
+ border-left: 1px solid var(--scalar-color-1);
385
+ padding-left: var(--markdown-spacing-md);
386
+ margin: 0;
387
+ display: block;
388
+ font-weight: var(--scalar-bold);
389
+ font-size: var(--scalar-heading-2);
390
+ }
391
+
392
+ /* Markdown Checklist */
393
+ .markdown .contains-task-list {
394
+ display: flex;
395
+ flex-direction: column;
396
+ gap: 2px;
397
+ list-style: none;
398
+ }
399
+
400
+ .markdown .contains-task-list li {
401
+ align-items: center;
402
+ display: flex;
403
+ gap: 10.5px;
404
+ padding-left: 10.5px;
405
+ }
406
+
407
+ .markdown .contains-task-list input {
408
+ position: relative;
409
+ appearance: none;
410
+ -webkit-appearance: none;
411
+ display: flex;
412
+ width: var(--markdown-spacing-md);
413
+ height: var(--markdown-spacing-md);
414
+ align-content: center;
415
+ justify-content: center;
416
+ border: 1px solid var(--scalar-color-3);
417
+ border-radius: var(--scalar-radius);
418
+ }
419
+
420
+ .markdown .contains-task-list input:checked {
421
+ background-color: var(--scalar-color-1);
422
+ border-color: var(--scalar-color-1);
423
+ }
424
+
425
+ .markdown .contains-task-list input[type="checkbox"]::before {
426
+ content: "";
427
+ position: absolute;
428
+ left: 5px;
429
+ top: 1px;
430
+ width: 5px;
431
+ height: 10px;
432
+ border: solid var(--scalar-background-1);
433
+ border-width: 0 1.5px 1.5px 0;
434
+ transform: rotate(45deg);
435
+ opacity: 0;
436
+ }
437
+
438
+ .markdown .contains-task-list input[type="checkbox"]:checked::before {
439
+ opacity: 1;
440
+ }
441
+
292
442
  /* Markdown Alert */
293
443
  .markdown .markdown-alert {
294
444
  align-items: stretch;
295
445
  border-radius: var(--scalar-radius-lg);
296
446
  background-color: color-mix(in srgb, var(--scalar-background-2), transparent);
297
- border: var(--scalar-border-width) solid var(--scalar-border-color);
447
+ border: var(--markdown-border);
298
448
  display: flex;
299
449
  font-size: var(--scalar-small);
300
- gap: 12px;
301
- padding: 12px;
450
+ gap: var(--markdown-spacing-sm);
451
+ padding: calc(var(--markdown-spacing-sm) - 0.5px);
302
452
  padding-left: 42px;
303
453
  position: relative;
304
454
  }
@@ -306,10 +456,10 @@
306
456
  .markdown .markdown-alert::before {
307
457
  content: "";
308
458
  position: absolute;
309
- left: 12px;
310
- top: 12px;
311
- width: 20px;
312
- height: 20px;
459
+ left: var(--markdown-spacing-sm);
460
+ top: calc(var(--markdown-spacing-sm) + 0.5px);
461
+ width: 16px;
462
+ height: 16px;
313
463
  background-color: currentColor;
314
464
  mask-repeat: no-repeat;
315
465
  mask-size: contain;
@@ -354,6 +504,6 @@
354
504
 
355
505
  .markdown .markdown-alert .markdown-alert-content {
356
506
  margin: 0;
357
- line-height: 1.5;
507
+ line-height: 20px;
358
508
  }
359
509
  }
package/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  "lowlight",
17
17
  "highlightjs"
18
18
  ],
19
- "version": "0.1.1",
19
+ "version": "0.1.2",
20
20
  "engines": {
21
21
  "node": ">=20"
22
22
  },
@@ -97,8 +97,8 @@
97
97
  "vfile": "^6.0.1",
98
98
  "vite": "5.4.19",
99
99
  "vue": "^3.5.12",
100
- "@scalar/themes": "0.13.0",
101
- "@scalar/build-tooling": "0.2.1"
100
+ "@scalar/build-tooling": "0.2.2",
101
+ "@scalar/themes": "0.13.2"
102
102
  },
103
103
  "scripts": {
104
104
  "build": "scalar-build-esbuild",