@plus234feed/ds 0.4.0 → 0.5.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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/components.css +85 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plus234feed/ds",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Plus234Feed design system. Editorial tokens, type scale and components for a news intelligence platform: newspaper hierarchy, accessible colour in both themes, one component per job.",
5
5
  "keywords": [
6
6
  "design-system",
@@ -328,6 +328,91 @@
328
328
  color: var(--p234-color-ink);
329
329
  }
330
330
 
331
+ /* Headings, lists and small print, styled on the element itself.
332
+ *
333
+ * An article body arrives as markup from the pipeline and a policy page is
334
+ * written by hand, but both are the same thing: a document. Styling the
335
+ * element rather than a class is what lets a page body be plain semantic
336
+ * HTML, which is also the only version of these pages anyone will maintain.
337
+ *
338
+ * Section headings carry a hairline above instead of sitting in a bordered
339
+ * box. A page of eight boxes reads as eight unrelated panels; a page of eight
340
+ * ruled sections reads as one document, which is what it is. */
341
+ .p234-prose h2 {
342
+ font-family: var(--p234-type-headline-sm-family);
343
+ font-size: var(--p234-type-headline-sm-size);
344
+ line-height: var(--p234-type-headline-sm-leading);
345
+ letter-spacing: var(--p234-type-headline-sm-tracking);
346
+ font-weight: var(--p234-type-headline-sm-weight);
347
+ color: var(--p234-color-ink);
348
+ border-top: var(--p234-border-hairline) solid var(--p234-color-rule);
349
+ padding-top: var(--p234-space-4);
350
+ }
351
+ .p234-prose > * + h2 { margin-top: var(--p234-space-7); }
352
+
353
+ .p234-prose h3 {
354
+ font-family: var(--p234-type-headline-xs-family);
355
+ font-size: var(--p234-type-headline-xs-size);
356
+ line-height: var(--p234-type-headline-xs-leading);
357
+ letter-spacing: var(--p234-type-headline-xs-tracking);
358
+ font-weight: var(--p234-type-headline-xs-weight);
359
+ color: var(--p234-color-ink);
360
+ }
361
+ .p234-prose > * + h3 { margin-top: var(--p234-space-6); }
362
+
363
+ /* A heading followed straight by its own text should not carry a full gap:
364
+ the two belong together. */
365
+ .p234-prose h2 + *,
366
+ .p234-prose h3 + * { margin-top: var(--p234-space-3); }
367
+
368
+ .p234-prose ul,
369
+ .p234-prose ol { padding-left: var(--p234-space-6); }
370
+ .p234-prose ul { list-style: disc; }
371
+ .p234-prose ol { list-style: decimal; }
372
+ .p234-prose li + li { margin-top: var(--p234-space-3); }
373
+ .p234-prose li::marker { color: var(--p234-color-ink-subtle); }
374
+
375
+ .p234-prose strong { font-weight: 700; }
376
+ .p234-prose em { font-style: italic; }
377
+ .p234-prose hr {
378
+ border: 0;
379
+ border-top: var(--p234-border-hairline) solid var(--p234-color-rule);
380
+ }
381
+ .p234-prose code {
382
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
383
+ font-size: 0.9em;
384
+ background: var(--p234-color-paper-sunk);
385
+ padding: 0.1em 0.3em;
386
+ border-radius: var(--p234-radius-sm);
387
+ }
388
+ .p234-prose pre {
389
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
390
+ font-size: var(--p234-type-ui-sm-size);
391
+ line-height: 1.55;
392
+ background: var(--p234-color-paper-sunk);
393
+ border: var(--p234-border-hairline) solid var(--p234-color-rule);
394
+ border-radius: var(--p234-radius-sm);
395
+ padding: var(--p234-space-4);
396
+ overflow-x: auto;
397
+ }
398
+ .p234-prose pre code { background: none; padding: 0; }
399
+
400
+ /* The line under a document: last updated, a version, a notice. */
401
+ .p234-prose small {
402
+ display: block;
403
+ font-family: var(--p234-type-meta-family);
404
+ font-size: var(--p234-type-meta-size);
405
+ line-height: var(--p234-type-meta-leading);
406
+ color: var(--p234-color-ink-muted);
407
+ }
408
+
409
+ /* A document page is a column of sections, not a reading column of 66
410
+ characters: its lists and definition rows want the wider measure. */
411
+ .p234-prose--document { max-width: var(--p234-measure-wide); }
412
+ .p234-prose--document > p,
413
+ .p234-prose--document > ul,
414
+ .p234-prose--document > ol { max-width: var(--p234-measure-text); }
415
+
331
416
  /* --- ad slot -----------------------------------------------------------
332
417
  Declared, labelled and bounded. The article template allows two of these,
333
418
  total. The count is a design decision, not an inventory decision: at six